如何在类定义之外为magic属性创建PHPDoc?

如何在类定义之外为magic属性创建PHPDoc?,php,slim,phpdoc,Php,Slim,Phpdoc,PHPDoc提供了,即使在类外声明变量时也应该可以使用 但是,如果我将变量定义为对象的魔法成员,这似乎不起作用: /** @var $app->translator \Fortress\MessageTranslator */ $app->translator = new \Fortress\MessageTranslator(); 其中,$app是一个对象,它支持通过magic setter和getter进行任意属性分配 我知道我可以通过@property标记将其添加到Slim本

PHPDoc提供了,即使在类外声明变量时也应该可以使用

但是,如果我将变量定义为对象的魔法成员,这似乎不起作用:

/** @var $app->translator \Fortress\MessageTranslator */
$app->translator = new \Fortress\MessageTranslator();
其中,
$app
是一个对象,它支持通过magic setter和getter进行任意属性分配

我知道我可以通过
@property
标记将其添加到
Slim
本身,但是我需要在每次创建新属性时更改核心
Slim
代码

PHPDoc支持这种动态属性文档吗?

在文档块中不需要$app->translator。 应该是这样的:

/** @var \Fortress\MessageTranslator your_possible_comments */


.

您是否尝试删除文档部分中的
$app->translator
?不管怎样,你解决过这个问题吗?Andy,我已经开始使用Slim 3,它使用显式DI容器。因此,类似@onerror的答案中所示的东西应该会起作用。上面的链接给出了类似的答案。@alexw谢谢,我只是想让类型提示在IDE中为动态分配的属性工作。最后使用了一个局部变量,并在
@var
instad中键入暗示。这只是说明为什么魔术不好的一个例子。
/** @type \Fortress\MessageTranslator your_possible_comments */