(Spacer) Gdy chodzi o usługi Symfony:
Zamiast
$doctrine = $this->container->get('doctrine');
użycie
$doctrine = $this->getDoctrine();
Jak możesz zobaczyć, Symfony pozwala ci uzyskać dostęp do większości usług s bezpośrednio ze zmiennej $this
. NetBeans będzie wiedział, jakiego automatycznego uzupełniania użyć.
Pozwala spojrzeć dlaczego to działa (wewnątrz klasy Controller)

Jest to możliwe, ponieważ klasa import klasy Controller Registry ze stwierdzeniem USE,
use Doctrine\Bundle\DoctrineBundle\Registry;
, a następnie w Adnotacja komentarzy do metody deklaruje zwracający typ obiektu z
/*
* @return Registry
*/
Jeśli zadzwonisz do $ this-> container-> get ('doctrine'); bezpośrednio wtedy automatyczne uzupełnianie zostanie pominięte i będziesz musiał użyć tego, co poniżej.
(odpowiedź) Żadne magiczne automatyczne uzupełnianie nie działa. Użyj Php Storm (robi to, o co prosisz). Dla tych, którzy zdecydują się trzymać z NetBeans, należy użyć adnotacji ręcznej, jak w przykładzie poniżej:
Możemy wskazać NetBeans na klasę, której powinna używać do automatycznego uzupełniania.
1) W terminalu od przeszukania katalogu projektu dla służby chcesz importować:
php debugowania bin/console: pojemnik
Jeśli wiesz czego szukasz wykorzystania tego Zamiast:
php bin/console d: container | grep doktryna
...
doktryna --------------------------------- ----------------------- Doctrine \ Bundle \ DoctrineBundle \ Registry
...
2) Jeśli nie jest to korzystanie z usługi get_class() Funkcja PHP wbudowana w funkcję, aby uzyskać nazwę klasy obiektu danej zmiennej. Lub użyj klasy odbicia. To zależy od Ciebie.
3) Gdy znasz nazwę klasy oświadczenie USE deklaruję lepszej czytelności
use Doctrine\Bundle\DoctrineBundle\Registry;
4) Teraz wen wiemy jaka jest nazwa klasy instancji obiektu w konkretnej zmiennej jesteśmy gotowi do informowania NetBeans o co wiemy, za pomocą adnotacji komentarzy, aby umożliwić automatyczne uzupełnianie.
/**
* @var $doctrine Registry
*/
$doctrine = $this->container->get('doctrine');
Teraz automatyczne uzupełnianie jest włączone. Wpisz
$doctrine->|
następnie naciśnij Ctrl + Spacja .Patrz zdjęcie poniżej:

Tak wiem, ale to rozwiązanie nie jest jeszcze to, co szukam. Otworzyłem problem sugerujący to na http://netbeans.org/bugzilla/show_bug.cgi?id=226725 – dextervip
To też robię, +1, chociaż ogólnie "chroniony" powinien być preferowany niż "prywatny", chyba że istnieje szczególny powód, dla którego (teoretyczna) klasa dzieci nie powinna używać gettera. – halfer