微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

什么是PHP中的类?

PHP中的:: class符号是什么?

由于语法的性质,快速Google搜索不会返回任何内容.

冒号结肠类

使用这种表示法有什么好处?

protected $commands = [
    \App\Console\Commands\Inspire::class,
];

解决方法:

功能PHP 5.5中实现.

文档:http://php.net/manual/en/migration55.new-features.php#migration55.new-features.class-name

它有两个原因非常有用.

>您不必再将类名存储在字符串中.因此,许多IDE可以在您重构代码时检索这些类名
>您可以使用use关键字来解析您的类,而无需编写完整的类名.

举个例子 :

use \App\Console\Commands\Inspire;

//...

protected $commands = [
    Inspire::class, // Equivalent to "App\Console\Commands\Inspire"
];

更新:

功能Late Static Binding也很有用.

您可以使用static :: class功能获取父类中派生类的名称,而不是使用__CLASS__魔术常量.例如:

class A {

    public function getClassName(){
        return __CLASS__;
    }

    public function getRealClassName() {
        return static::class;
    }
}

class B extends A {}

$a = new A;
$b = new B;

echo $a->getClassName();      // A
echo $a->getRealClassName();  // A
echo $b->getClassName();      // A
echo $b->getRealClassName();  // B

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐