PHPDoc提供了@var标记,它甚至可以用于在类之外声明的变量.
但是,如果我将变量定义为对象的魔术成员,这似乎不起作用:
/** @var $app->translator \Fortress\MessageTranslator */
$app->translator = new \Fortress\MessageTranslator();
Run Code Online (Sandbox Code Playgroud)
哪里$app是修身,支持通过神奇的getter和setter方法任意财产分配对象.
我知道我可以Slim通过@property标签将它添加到自身,但是Slim每次创建新属性时我都需要更改核心代码.
PHPDoc是否支持这种动态属性记录?
one*_*ror -1
您不需要在文档块中使用$app->translator 。它应该看起来像这样:
/** @var \Fortress\MessageTranslator your_possible_comments */
Run Code Online (Sandbox Code Playgroud)
或者
/** @type \Fortress\MessageTranslator your_possible_comments */
Run Code Online (Sandbox Code Playgroud)
文档链接。