有没有PHP DocBlock我可以用来表示实例化后添加的魔术方法属性?

Kei*_*ith 7 php model-view-controller templates

我将PHP对象发送到模板文件,并且希望在模板文件的顶部记录对象的哪些属性(使用__get)可用以及它们是什么,并使它们可用于代码提示.

这是一个例子.

在我的控制器中:

$obj = new Template("welcomePage");
$obj->title = "Welcome!";
$obj->render();
Run Code Online (Sandbox Code Playgroud)

在我的视图/模板中:

<?php 
/** 
 *    @var       $obj           Template    The template data wrapper
 *    @property  $obj->title    string      The page header text
/* ?>
<h1><?php echo $obj->title; ?></h1>
Run Code Online (Sandbox Code Playgroud)

是否有类似的东西可行?如果我开始输入$obj->,我现在拥有它的方式将不会自动完成,这意味着我(或团队成员)需要引用模板的顶部来查找每个可用属性.

我正在考虑为每个模板类型扩展Template类,但这似乎是不必要的开销,因为我可能每页只添加一个字符串和一个数组,并为每个模板创建一个单独的类,部分模板和两者的组合似乎是有点傻.

谢谢〜

Ale*_*lex 7

不.DocBlocks文档类,而不是实例.

说,PHPDocumentor有许多类级别的注释标签来揭示一些魔术:

但它不适用于在运行时动态添加的属性/方法,因为实例之间的属性不同.