[转]PHP5.3_延迟静态绑定_static
2012-11-30 00:18
351 查看
From : http://my.oschina.net/liuhui1990/blog/38611
基于PHP版本: 5.3.5
PHP5.3 以后引入了延迟静态绑定:
static(关键字) 类似于 self(关键字) , 但它指向的是被调用的类(Document) 而不是包含类(DomainObject), static 和 self 的区别:
Result :
以前你这么写:
现在, 你可以这么写:
好处: 可以节省大量重复代码~
基于PHP版本: 5.3.5
PHP5.3 以后引入了延迟静态绑定:
static(关键字) 类似于 self(关键字) , 但它指向的是被调用的类(Document) 而不是包含类(DomainObject), static 和 self 的区别:
<?php class DomainObject{ public static function createStatic(){ return new static(); } public static function createSelf(){ return new self(); } } class User extends DomainObject{ } class Document extends DomainObject{ } echo '<pre>'; var_dump( Document::createStatic()); var_dump( Document::createSelf());
Result :
object(Document)[1] object(DomainObject)[1]
以前你这么写:
abstract class DomainObject{ } class User extends DomainObject{ public static function create(){ return new User(); } } class Document extends DomainObject{ public static function create(){ return new Document(); } }
现在, 你可以这么写:
abstract class DomainObject{ public static function create(){ return new static(); } } class User extends DomainObject{ } class Document extends DomainObject{ }
好处: 可以节省大量重复代码~
相关文章推荐
- php5.3 延迟静态绑定 static关键字
- php Late Static Bindings延迟静态绑定
- php的魔术方法__get(),__set(),__call(),__callStatic()以及static延迟静态绑定
- php static延迟静态绑定
- php static延迟静态绑定
- php面对对象之延迟静态绑定:static关键字
- PHP Static延迟静态绑定
- php的魔术方法__get(),__set(),__call(),__callStatic()以及static延迟静态绑定
- PHP面向对象:延迟静态绑定(static关键字)
- 理解 PHP 延迟静态绑定 (late static bindings)
- PHP延迟静态绑定:static关键字
- php static延迟静态绑定
- PHP面向对象:延迟静态绑定(static关键字)
- PHP Static延迟静态绑定用法分析
- PHP Static延迟静态绑定用法分析
- 【学习点滴-php】static关键字---延迟静态绑定
- php 延迟静态绑定: static关键字
- php--继承与延迟静态绑定
- static延迟静态绑定
- php中“延迟静态绑定”的使用