2012-04-15 2 views
5

Ich bin ein Benutzer von NetBeans, weil es der beste Knall für kein Geld war. Die Codevervollständigung war immer gut, sogar mit etwas so riesigem und umfangreichem wie Symfony 2. Ich habe jedoch einen neuen Mac, wollte Netbeans herunterladen, es installieren usw.Netbeans, Symfony und Hinting treiben mich in den Wahnsinn

Die Fertigstellung war immer so gut, dass ich es tun konnte das zum Beispiel:

<?php 
// assuming a controller scope here. 
public function anyAction() 
{ 
    $em = $this->getDoctrine()->getEntityManager(); 
    $em-> /* and here there would have been a whole lot of possible hints, methods from  
    the EntityManager object on my old NetBeans install, and now it says: no hints */ 
?> 

Aber sie kommen nicht mehr. Das Hinweisniveau ist nicht tief genug. Wenn zum Beispiel das Schlüsselwort 'new' verwendet wird, gibt es Hinweise auf Namespaces und Klassen, die ich wahrscheinlich verwenden würde, aber das ist es, nichts tiefer als das.

Ich habe eine ganze Menge mit den Einstellungen versucht und nichts hat wirklich funktioniert. Außerdem: Die Installation des Symfony-Plugins schien dafür nicht zu funktionieren.

Was soll ich tun?

Ich brauche diese Hinweise wirklich, da Symfony Millionen von Funktionen enthält und das Suchen der API immer zu zeitaufwendig ist.

+2

Ich möchte nur darauf hinweisen, dass Syntaxfehler in Netbeans jeden Codehinweis verhindern. – Jarrod

+0

Ich weiß, aber ich bin mir sicher, dass Fehler nicht der Fall sind. – Quant

Antwort

6

Dies kommt von einer Änderung in Vendor/symfony/src/Symfony/Bundle/Doctrine/Bundle/Registry.php. Die phpDoc für getEntityManager() Methode wurde geändert:

/** 
* Gets a named entity manager. 
* 
* @param string $name The entity manager name (null for the default one) 
* 
* @return EntityManager 
*/ 
public function getEntityManager($name = null) 
{ 
    // ... 
} 

Die Arbeits phpDoc für NetBeans ist:

/** 
* Gets a named entity manager. 
* 
* @param string $name The entity manager name (null for the default one) 
* 
* @return \Doctrine\ORM\EntityManager 
*/ 
public function getEntityManager($name = null) 
{ 
    // ... 
} 

Das hat mit commit 353085857ba6d17694e5322e2eefb0d8fec6380d auf symfony/symfony repository auf GitHub Repository behoben.

+0

Danke, das hat bei mir funktioniert! – Quant