当前第2页 返回上一页
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?phpclass A {
private function foo() {
echo "success!\n" ;
} public function test() {
$this ->foo(); static ::foo();
}
} class B extends A {
} class C extends A {
private function foo() {
}
} $b = new B(); $b ->test(); $c = new C(); $c ->test();
|
结果:
1 2 3 4 | success!
success!
success!
Fatal error: Call to private method C::foo() from context 'A' in /tmp/test.php on line 9
|
转发和非转发调用
后期静态绑定的解析会一直到取得一个完全解析了的静态调用信息为止。另一方面,如果静态调用使用 parent::
或者 self::
将转发调用信息。
例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | class A {
public static function foo() {
static ::who();
} public static function who() {
echo __CLASS__ . "\n" ;
}
} class B extends A {
public static function test() {
A::foo(); parent::foo(); self::foo();
} public static function who() {
echo __CLASS__ . "\n" ;
}
} class C extends B {
public static function who() {
echo __CLASS__ . "\n" ;
}
}
C::test();
|
结果:
ACC
相关推荐:
php后期静态绑定实例详解
php静态绑定详细讲述
php后静态绑定的定义和使用方法实例详解
以上就是php实现后期静态绑定的详细内容,更多文章请关注木庄网络博客!!
返回前面的内容
相关阅读 >>
mysql优化的思路介绍
PHP closure类的使用方法
基于tags实现内容推荐的方法(代码)
PHP实现后期静态绑定
介绍PHP + mysql 实现数据分页显示
mysql中buffered and unbuffered queries及pdo的非缓存查询例子
PHP程序mysql报错mysql has gone away
用PHP 读取rss feed的代码示例
PHP mysqli用法介绍
PHP限制ip地址范围的实现方法
更多相关阅读请进入《PHP》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » php实现后期静态绑定