如何用 php 8 中的新属性替换 phpdocs
How to replace phpdocs with new attributes in php 8
我正在使用 laravel。我需要知道如何在 php 8 中使用属性编写 phpdoc。
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
//Some code
return [];
}
谁能解释一下上面的代码是如何用属性写的。
我相信您误解了属性的用途,以及它们与文档块的关系。文档块有两种常见用法(注释用/** ... */
标记):
- 文档 代码(因此得名“doc block”),以大多数标准化的方式可以被各种工具读取,包括文档生成器和 IDE。
- 向代码添加机器可读的注释,以便与可以根据这些自动生成行为的库和框架一起使用。例如,ORM 可能使用
@TableName('Foo')
到 link 的注释和 class 到特定数据库 table,并生成适当的 SQL.
您显示的示例是 first 用法。你写的还是文档的正确写法
PHP 8的原生属性替换了第二种用法。查找什么属性取决于库,但是以前在文档块中查找 @TableName('Foo')
的 ORM 现在可能会查找 #[TableName('Foo')]
作为本机属性。
我正在使用 laravel。我需要知道如何在 php 8 中使用属性编写 phpdoc。
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
//Some code
return [];
}
谁能解释一下上面的代码是如何用属性写的。
我相信您误解了属性的用途,以及它们与文档块的关系。文档块有两种常见用法(注释用/** ... */
标记):
- 文档 代码(因此得名“doc block”),以大多数标准化的方式可以被各种工具读取,包括文档生成器和 IDE。
- 向代码添加机器可读的注释,以便与可以根据这些自动生成行为的库和框架一起使用。例如,ORM 可能使用
@TableName('Foo')
到 link 的注释和 class 到特定数据库 table,并生成适当的 SQL.
您显示的示例是 first 用法。你写的还是文档的正确写法
PHP 8的原生属性替换了第二种用法。查找什么属性取决于库,但是以前在文档块中查找 @TableName('Foo')
的 ORM 现在可能会查找 #[TableName('Foo')]
作为本机属性。