php - 在 PHP/Laravel 中,“Model::class”的正确术语是什么,给定 `return $this->belongsTo(Model::class);`
问题描述
在此示例代码中:
public function user()
{
return $this->belongsTo(User::class);
}
public function sandwich()
{
return $this->belongsTo(Sandwich::class);
}
我想知道什么User::class
叫,因为你也可以这样写上面的例子:
public function user()
{
return $this->belongsTo(\App\User);
}
public function sandwich()
{
return $this->belongsTo(\App\Sandwich);
}
所以我喜欢 Laravel 在你使用语法糖时“只知道”模型在哪里,但它叫什么?我想阅读一些有关它的文档,以便更好地了解幕后发生的事情。
它以某种方式提醒我“路由模型绑定”,所以我想要的答案是某个地方的相关文档页面的链接,或者我可以通过谷歌了解那里到底发生了什么的术语。
解决方案
::class
语法是类名解析。此语法返回完全限定类名的字符串表示形式,包括其他省略的任何命名空间信息。
此功能的几个好处是 1. 不需要显式指定类的完全限定名称空间,以及 2. 能够将完全限定名称空间作为字符串传递,同时允许 IDE 在重构时定位类名称或搜索参考。
推荐阅读
- apache - CentOS 7 nginx httpd 禁止 /var/www
- azure-data-factory - Azure Datafactory 通过 CLI/API/PowerShell 导出 ARM 模板
- javascript - 无法从 Webpack 捆绑文件中找到类引用
- webpack - Webpack - resolve-url-loader 无法正确解析路径
- php - 如何在laravel中重定向同一页面上的数据
- docker - Docker:无法安装 openssh-server
- python-3.x - 日期之间的比较以 -1 开头
- java - 无法建立 Hibernate SessionFactory;org.hibernate.MappingException:无法确定类型
- httpclient - Keycloak - 如何为 keycloak 库中使用的 http 客户端设置超时
- c++ - _getch() 前几次没有检测到击键