Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SF2][Symfony2][Symfony] widoczność metod klay Repository
Forum PHP.pl > Forum > PHP > Frameworki
damianooo
Przypomnijcie proszę co trzeba zrobić aby IDE netBeans'a podpowiadało ... w akcji kontrolera ... wszystkie stworzone przez mnie metody wybranej klasy Repository ? smile.gif

w takim przykładzie:
  1. $repository = $this->getDoctrine()->getRepository('CosBundle:Cos');
  2. $stats = $repository->getJakasMetoda();
Fred1485
W PhpStorm pomaga DocBlock, może NetBeans też załapie.

  1.  
  2. /** @var TwojaKlasa $repository */
  3. $repository = $this->getDoctrine()->getRepository('CosBundle:Cos');
  4.  
damianooo
niestety to nie zadziałało ...

był taki myk w Symfony ... pewnie prosty ... przeszukałem google ale nie znalazłem
lukaskolista
"Myk" w symfony co wpłynie na IDE - wątpię. Jeżeli poważnie myślisz o programowaniu, to zainwestuj w PHPStorm.
damianooo
ok , ale zanim przeniosę się/spróbuję PHPStorm to chciałbym to zrobić najpierw w NetBeans smile.gif ... to na prawdę zależy od IDE ? ... nie było to czasem tak że w Repository class właśnie pisało się jakiegoś doca i dzięki temu był podgląd do metod ?

Będę wdzięczny za podpowiedź.
lukaskolista
Ale jak IDE nie wspiera doc, to co Ci da napisanie doca? Generalnie stosuj standard phpdocumentora

To tak, jakbyś się zapytał, czy brak kolorowania składni w notatniku na pewno zależy od notatnika, a nie kodu php.
damianooo
w sumie nie chodziło mi o doca tylko phpdocumentora smile.gif ale niestety nie widzę tam taga @ , którego wstawienie spowoduje widoczność mojej nowej metody w kontrolerze .

Musi to się dać zrobić
Gothicbezimienny
Ostatnio sam się męczyłem z ustawieniem netbeans. Dużo większe możliwośći daje phpstorm. Nie dość że łatwiej ustawić wszystkie podpowiedzi, ale także konsole która jest dużo wygodniejsza w użyciu niż w netbansie. Polecam
Pilsener
  1. $repository = $this->getDoctrine()->getRepository('CosBundle:Cos');


Nie jest to zalecane, bo zależności powinny być dostarczane do obiektu poprzez jego inferfejs a nie wprost.
W symfony mamy wiele możliwości "wstrzyknięcia" zależności:
http://symfony.com/doc/current/components/..._injection.html
Można też to robić dynamicznie, poprzez adnotację.

Jeśli chcesz mieć podpowiadanie składni:
  1. /**
  2.   * @return ProductRepository
  3.   */
  4. public function getProductRepository(){
  5. return $this->getDoctrine()->getRepository('TestBundle:Product');
  6. }


"Magiczny" getter:
  1. /**
  2.   * @DI\LookupMethod("product_repository")
  3.   * @return ProductRepository
  4.   */
  5. public function getProductRepository(){
  6.  
  7. }


Podobnie można "wstrzykiwać" zależności poprzez właściwość, konstruktor albo seter - sposób statyczny dostarcza Symfony, dynamiczny wymaga dociągnięcia odpowiedniej biblioteki.
Turson
Netbeans łyka
/* @var $doc DOMDocument */
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.