2015-06-23 11 views
7

PHPDoc fornisce @var tag, che dovrebbe funzionare anche per le variabili dichiarate al di fuori di una classe.Come posso creare un PHPDoc per le proprietà magiche al di fuori della definizione della classe?

Tuttavia, questo non sembra funzionare se definisco la variabile come un membro magia di un oggetto:

/** @var $app->translator \Fortress\MessageTranslator */ 
$app->translator = new \Fortress\MessageTranslator(); 

Dove $app è un oggetto che supporta Slim assegnazione di proprietà arbitrario tramite setter magici e getter.

So che avrei potuto aggiungere al Slim sé tramite il tag @property, ma poi mi avrebbe bisogno di modificare il codice di base Slim ogni volta che creo una nuova proprietà.

PHPDoc supporta questo tipo di documentazione di proprietà dinamiche?

+1

Hai provato a rimuovere '$ app-> traduttore' nella sezione doc? Comunque [questo potrebbe aiutarti] (http://stackoverflow.com/questions/6395737/how-do-i-make-my-php-ide-understand-dependency-injection-containers). –

+0

Hai mai risolto questo? – Andy

+0

Andy, ho iniziato a utilizzare Slim 3, che utilizza un contenitore DI esplicito. Quindi, qualcosa di simile a ciò che è mostrato nella risposta di @ onerror _should_ work. Una risposta simile è data nel link sopra. – alexw

risposta

-1

Non è necessario $ app-> traduttore nel blocco doc. Esso dovrebbe essere simile a questo:

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

o

/** @type \Fortress\MessageTranslator your_possible_comments */ 

Link to the documentation.

Problemi correlati