延迟静态绑定

PHP5.3_延迟静态绑定_static

本小妞迷上赌 提交于 2020-03-01 17:41:54
基于PHP版本: 5.3.5 PHP5.3 以后引入了延迟静态绑定: static( 关键字) 类似于 self( 关键字 ) , 但它指向的是 被调用的类( Document ) 而不是 包含类( DomainObject ) , static 和 self 的区别: Code: <?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