概述
<?php
// 后期静态绑定: 延迟静态绑定
// 用在静态继承的上下文环境中
namespace _1010;
class A
{
public static function who()
{
echo __CLASS__;
}
public static function test()
{
//
self::who();
static::who();
}
}
// 静态继承的上下文
class B extends A
{
// 在子类重写父类A中的静态方法who()
public static function who()
{
echo __CLASS__;
}
}
A::test();
echo '<br>';
B::test();
echo '<hr>';
class Connect
{
public static function connect()
{
//
return self::config();
return static::config();
}
public static function config()
{
return new PDO('mysql:dbname=php;host=127.0.0.1', 'root', '123456');
}
}
class Link extends Connect
{
public static function config()
{
return new PDO('mysql:dbname=php;host=127.0.0.1', 'root', 'root');
}
}
$pdo = Link::connect();
foreach ($pdo->query('select * from staff limit 5') as $staff) {
print_r($staff); echo '<br>';
}
//静态继承的上下文环境中, 调用被子类重写的静态方法,使用关键字static, 代替掉self
php静态绑定的主要目的是动态调用方法
最后
以上就是美满小馒头为你收集整理的php静态绑定的全部内容,希望文章能够帮你解决php静态绑定所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复