码迷,mamicode.com
首页 > Web开发 > 详细

PHP 延迟绑定

时间:2015-05-18 00:50:12      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

 1 class product{
 2     public static function create(){
 3         return new static();
 4     }
 5 }
 6 
 7 class food extends product{
 8 
 9 }
10 
11 var_dump(food::create());
12 //food::out();

以上代码输出:object(food)#1 (0) { }

class product{
    public static function create(){
        return new self();
    }
}

class food extends product{

}

var_dump(food::create());

以上代码输出:object(product)#1 (0) { }

 

一个self和static的区别,self是解析上下文,而不是引用上下文。在PHP 5.3中的新特性,延迟绑定,static类似于self,但它指的是被调用的类而不是包含类。

PHP 延迟绑定

标签:

原文地址:http://www.cnblogs.com/zafuacm/p/4510871.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!