对不起,英语不好!
我知道ClassName::Class
将返回带有名称空间的类名称。
但是为什么在使用名称空间编写类名时在laravel中使用它呢?
喜欢:
\App\Http\Middleware\TrimStrings::class
我很困惑!
谁能告诉我:: Class到底是什么?
答案 0 :(得分:0)
答案:
使用:: class语法,您可以声明一个类而无需 将其作为字符串传递。当他们更新ide时,它将有助于自动 填充不能使用字符串完成的名称空间。
来源信息:
自PHP 5.5起,class关键字也用于类名解析。您可以使用ClassName :: class获得包含ClassName类的全限定名称的字符串。这对于命名空间类特别有用。
示例#10类名称解析
<?php
namespace NS {
class ClassName {
}
echo ClassName::class;
}
?>
上面的示例将输出:
NS\ClassName
注意:
使用:: class的类名称解析是编译时间 转型。这意味着当时的类名字符串是 创建没有自动加载发生。结果,类名 即使该类不存在,也会被扩展。没有发出错误 这种情况。
源链接 :: Php Manual
答案 1 :(得分:0)
我认为您的问题是重复的,以下是您寻求的答案: What is ::class in PHP?