是否有一个PHP DocBlock可以用来表示实例化后添加的magic method属性?

是否有一个PHP DocBlock可以用来表示实例化后添加的magic method属性?,php,templates,model-view-controller,Php,Templates,Model View Controller,我将PHP对象发送到模板文件,并希望在模板文件的顶部记录对象的哪些属性(使用_get)可用以及它们是什么,并使它们可用于代码提示 这里有一个例子 在我的控制器中: $obj = new Template("welcomePage"); $obj->title = "Welcome!"; $obj->render(); 在我的视图/模板中: <?php /** * @var $obj Template The template

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

这里有一个例子

在我的控制器中:

$obj = new Template("welcomePage");
$obj->title = "Welcome!";
$obj->render();
在我的视图/模板中:

<?php 
/** 
 *    @var       $obj           Template    The template data wrapper
 *    @property  $obj->title    string      The page header text
/* ?>
<h1><?php echo $obj->title; ?></h1>

有没有类似的方法可以奏效?如果我开始键入
$obj->
,我现在的方式将不会自动完成,这意味着我(或团队成员)需要引用模板顶部以查找每个可用属性

我曾考虑为每种模板类型扩展模板类,但这似乎是不必要的开销,因为我可能只会在每页添加一个字符串和一个数组,并且为每种模板创建一个单独的类、部分模板以及两者的组合似乎有点愚蠢


谢谢~

否。DocBlocks文档类,而不是实例

也就是说,PHPDocumentor有许多类级注释标记来展示一些神奇之处:


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

我的建议是,在大多数情况下不要使用魔法,因为它会导致更多的问题,从而带来优势Hanks,Robert。那么,你会建议每个模板类型一个类吗?谢谢,这就回答了这个问题。是的,我在ORM对象上广泛使用了
@property
,我只是希望动态分配的对象键会有一个等价物。谢谢