<?php
//延迟静态绑定技术
//class A{
// public static function who(){
// echo __CLASS__;
// }
//// 静态作用域,写代码时就确定了,编译时就确定了
// public static function test(){
//// self::who();
// static::who();//static::在静态继承的上下文环境中,动态地设置方法的调用者
// }
//}
//class B extends A{
// public static function who()
// {
// echo __CLASS__;
// }
//}
//静态继承的上下文环境
//A::test();
//返回classA的名字A
//希望视如己出,指向B
//以最简单的数据库连接,来演示静态绑定的应用
//静态类,父类
class connection{
public static function connect(){
return static::config();
}
public static function config(){
//连接
return new PDO('mysql:host=127.0.0.1;dbname=php','admin','123456');
}
}
//创建连接子类
class Link extends connection{
public static function config(){
// 在工作类Link中传入真实的连接参数
return new PDO('mysql:host=127.0.0.1;dbname=php','root','root');
}
}
$pdo=Link::connect();
$staffs=$pdo->query('select * from staff limit 5');
foreach ($staffs as $staff){
echo '<pre>';print_r($staff);echo '<br>';
}
//$staffs = $pdo->query('select * from staff limit 5');
//foreach ($staffs as $staff) {
// print_r($staff); echo '<br>';
//}