教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php 延迟静态绑定static关键字的例子

php 延迟静态绑定static关键字的例子

发布时间:2017-03-31   编辑:jiaochengji.com
本文分享一例php代码,学习下延迟静态绑定static关键字的方法,有需要的朋友参考学习下。

本节内容:
php 延迟静态绑定static关键字

例子:
 

复制代码 代码示例:

<?php
abstract class DomainObject {
    public static function create()
    {
        return new self();
    }
}

class User extends DomainObject {}

class Document extends DomainObject {}

print_r(Document::create());

说明:
以上代码运行失败,因为 self 被解析为 DomainObject,将 self 换为 static。

例子:
 

复制代码 代码示例:

<?php
abstract class DomainObject {
    public static function create()
    {
        return new static();
    }
}

class User extends DomainObject {}

class Document extends DomainObject {}

print_r(Document::create());

运行成功,浏览器输出:
Document Object ( )

说明:
static 类似于 self,但它指的是被调用的类而不是包含类。

您可能感兴趣的文章:
php中对static关键字的理解
php中static关键字的理解
php 延迟静态绑定static关键字的例子
php static延迟静态绑定实例解析
详解PHP的self关键字
分分钟搞定PHP的self关键字
关于PHP中self关键字的用法详解
了解PHP中self关键字的相关知识
解析PHP的self关键字
PHP面向对象中new self( )和 new static( ) 的区别

[关闭]
~ ~