总结:
1、接口设计中先一个父类(接口父类声明关键词:interface)
将常量写入父类中 以及父类方法 public static function connection ();
2、子类对接接口实现具体操作
3、实例化子类,取出对应值
1、接口常量: 常用于配置文件
2、类常量关键词:const
实例
<?php namespace _1010; // 接口常量,通常可以用作配置文件 if (!interface_exists(__NAMESPACE__.'\iDbParam')) { interface iDbParam { // 数据库的连接参数常量 const TYPE = 'mysql'; const HOST = '127.0.0.1'; const DBNAME = 'chenqingxuan'; const USER_NAME = 'root'; const PASSWORD = 'cqx07231950'; // 抽象方法 public static function connection (); } } // Connection: 工作类/普通类 class Connection implements namespace\iDbParam { // 初始化连接参数: 直接调用接口中的常量 private static $type = iDbParam::TYPE; private static $host = iDbParam::HOST; private static $dbname = iDbParam::DBNAME; private static $userName = iDbParam::USER_NAME; private static $password = iDbParam::PASSWORD; // 将接口中的抽象方法实现了 public static function connection () { $dsn = self::$type . ':host=' . self::$host.';dbname='.self::$dbname; $user = self::$userName; $password = self::$password; return new \PDO($dsn, $user, $password); } } $link = Connection::connection(); var_dump($link);die; $stmt = $link->prepare('SELECT * FROM `staff` LIMIT :limit'); $stmt->bindValue('limit', 5, \PDO::PARAM_INT); $stmt->execute(); foreach ($stmt->fetchAll(\PDO::FETCH_ASSOC) as $staff) { $hiredate=date('Y年m月d日', $staff['hiredate']); echo "<li>{$staff['staff_id']}-{$staff['name']}-{$staff['position']}-{$hiredate}</li>"; }
运行实例 »
点击 "运行实例" 按钮查看在线实例