总结:
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>";
}点击 "运行实例" 按钮查看在线实例

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号