我最近创建了一个类来创建HTML元素。通过为每个现有的HTML元素和属性创建一个方法,我决定使用魔术方法__get和__call来代替麻烦。所以,我的代码我基本上可以做到这一点:PHPdoc动态魔术属性(或方法)
$signUpForm->insert->input->type('text')->name('firstName')->maxlength(100)->disabled
$signUpForm->insert->input->type('email')->name('emailAddress')->maxlength(100)
等
但自从我决定把这个“神奇”,简单的,我也可以这样做:
$signUpForm->insert->magic->trick('rabbit')->accessory('hat')
这将导致成:
<magic trick='rabbit' accessory='hat'>
这一切都是好的,因为在我看来,它减少了大量的样板代码,准确地做什么,我需要做的。我不希望一个类强制执行HTML标准,我想要一个类来方便HTML,因为你知道如何使用它(老实说,代码做这个很小)
所以我的问题是,考虑到这个类可以接受任何未定义的属性或方法,有什么方法可以在PHPDoc中指定这种行为吗?我想没有任何运气如下:
/**
* @property HtmlElementAttribute * Insert a new HTML element attribute
* @method HtmlElementAttribute * Insert a new HTML element attribute
*/
我不知道这是不是只是一个PHPStorm的事情,但我找不到任何地方的任何类似的情景......
此外,如果你想知道为什么我会做这样的事情,就是跟踪我的PHP代码中的某些HTML方面(例如,在表单中声明的ID或表单中的元素)。这可以让我在发送给最终用户之前在我的HTML中具有可见性。
1)PHPDoc本身对方法/属性名称没有'* wildcart支持,**全部**。因此您必须手动声明每种方法2)在PhpStorm中,您可以降低此类警告消息的优先级或完全禁用此类检测 – LazyOne 2014-12-06 22:41:39
@LazyOne感谢您的确认! – 2014-12-06 23:22:42