gpt4 book ai didi

php - Laravel -- 为什么 `::class` 常量

转载 作者:可可西里 更新时间:2023-11-01 13:41:12 28 4
gpt4 key购买 nike

在 Laravel 5.1 中,CLI 类的内核看起来像这样

#File: app/Console/Kernel.php
class Kernel extends ConsoleKernel
{
//...
protected $commands = [
\App\Console\Commands\Inspire::class,
];
//...
}

是否更改为使用预定义/魔术常量 ::class

\App\Console\Commands\Inspire::class

在功能上不同于简单地使用类名?

\App\Console\Commands\Inspire

最佳答案

不,在类上使用 ::class 会返回完全限定的类名,因此这与编写 'App\Console\Commands\Inspire' 是一样的(在引号中,因为它是一个字符串)。 class 关键字是 PHP 5.5 的新关键字。

在这个例子中它看起来很傻,但它可以用于例如。测试或定义关系。例如,如果我有一个 Article 类和一个 ArticleComment 类,我可能最终会做

use Some\Long\Namespace\ArticleComment;

class Article extends Model {

public function comments()
{
return $this->hasMany(ArticleComment::class);
}

}

引用:PHP Docs .

关于php - Laravel -- 为什么 `::class` 常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32102884/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com