0
我在很多有代碼與註釋工作的圖書館看到了這一點使用(從Doctrine2爲例):PHP「namespaced」docblock標籤?
<?php
namespace MyProject\Entities;
use Doctrine\ORM\Mapping AS ORM;
use Symfony\Component\Validation\Constraints AS Assert;
/**
* @ORM\Entity
* @MyProject\Annotations\Foobarable
*/
class User
{
/**
* @ORM\Id @ORM\Column @ORM\GeneratedValue
* @dummy
* @var int
*/
private $id;
}
我看來,雖然一些註釋標籤是「命名空間」。這是我不知道的一些PHP功能(因爲它似乎與「使用」語句一起工作),還是它只是使用這些庫中的一些智能文本解析?
我在問,因爲我目前正在開發一個小的類,它必須讀取一些這個「元數據」,並且如果這是包含在語言中的東西,它會非常整齊,所以我不必編寫難看的文本分析器。
非常感謝提前。
我一直在使用反射來閱讀docblocks之前,但我想知道是否有一種方法來「命名空間」他們。所以我猜,在上面的例子中,Doctrine解析器基本上將「namespaced」標籤解析爲最後一個值(column,id,entity,whatever)? – Pinetree