PHP版的ASP.NET/C#属性属性类

Ste*_*ppo 5 php c# attributes properties

有这样的事吗?

我想在PHP中做这样的事情,但我不知道如何从PHP文档中做到这一点:

public class User : ValidationBase
{  
  [NotNullOrEmpty(Message = "Please enter a user name.")] 
  public string UserName { get; set; } 
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是PHP等效的ASP.NET/C#属性,在上面的例子中[NotNullOrEmpty(Message = "Please enter a user name.")],属性声明上面的行表示.

And*_*son 8

PHP没有用于声明属性的内置机制,但可以使用一些自定义代码来模拟此行为.基本思想是将元数据放在注释块中,然后编写一个解析该注释块的类.这不如C#方便,因为您需要确保您的注释"属性"格式正确,但它可以正常工作.

以下是如何执行此操作的示例:http://web.archive.org/web/20130302084638/http : //interfacelab.com/metadataattributes-in-php/