(Passeggiata intorno) quando si tratta di servizi di Symfony:
Invece di
$doctrine = $this->container->get('doctrine');
uso
$doctrine = $this->getDoctrine();
Come puoi vedere che Symfony ti consente di accedere a gran parte del servizio s direttamente dalla variabile $this
. NetBeans saprà quale completamento automatico utilizzare.
Diamo un'occhiata perché questo funziona (all'interno classe Controller)

E 'possibile perché la classe importazioni classe controller del Registro di sistema con istruzione USE,
use Doctrine\Bundle\DoctrineBundle\Registry;
e poi in annotazione del commento metodo dichiara il tipo di oggetto restituito con
/*
* @return Registry
*/
Se si chiama $ this-> container-> get ('doctrine'); direttamente il completamento automatico verrà omesso e dovrai utilizzare le seguenti informazioni.
(Risposta) Nessun completamento automatico magico funziona finora. Utilizza Php Storm (fa ciò che tu richiedi). Per coloro che scelgono di utilizzare NetBeans, è necessario utilizzare l'annotazione manuale come nell'esempio seguente:
Possiamo indicare NetBeans a una classe che deve essere utilizzata per il completamento automatico.
1) Nel terminale di ricerca directory del progetto per il servizio che si desidera importare:
php bin/console di debug: contenitore
Se si sa cosa si cerca di utilizzare questo, invece:
contenitore php/console d: contenitore | grep dottrina
...
dottrina --------------------------------- ----------------------- Doctrine \ Bundle \ DoctrineBundle \ Registry
...
2) Se questo non è un servizio utilizza get_class() PHP build in function per ottenere il nome classe dell'oggetto la variabile particolare. Oppure usa la classe di riflessione. Tocca a voi.
3) Una volta che si conosce il nome della classe istruzione Declare USO per una migliore leggibilità
use Doctrine\Bundle\DoctrineBundle\Registry;
4) Ora wen sappiamo qual è il nome della classe dell'istanza oggetto in particolare variabile siamo pronti a informare i NetBeans su ciò che sappiamo usando le annotazioni dei commenti in modo che possa abilitare il completamento automatico.
/**
* @var $doctrine Registry
*/
$doctrine = $this->container->get('doctrine');
Ora il completamento automatico è abilitato. Type
$doctrine->|
quindi premere Ctrl + Spazio .Vedere l'immagine qui sotto:

Sì, lo so, ma questa soluzione non è ancora quello che sto cercando. Ho aperto un problema suggerendolo a http://netbeans.org/bugzilla/show_bug.cgi?id=226725 – dextervip
Questo è quello che faccio pure, +1 - anche se in generale 'protected' dovrebbe essere preferito a' private' a meno che c'è una ragione specifica per cui una classe (teorica) non dovrebbe usare il getter. – halfer