2008-12-23 10 views
8

Quando mi definiscono un oggetto di una classe utilizzando come questo nuovaCompletamento automatico per oggetti PHP con classi in PDT/Netbeans?

$blah = new Whatever(); 

ricevo completamento automatico per $ bla. Ma come faccio quando ho $ blah come parametro di funzione? Senza completamento automatico sono incompleto.

Modifica: Come si fa se è incluso un PDT o Netbeans non è in grado di capirlo? C'è un modo per dichiarare i tipi per le variabili in PHP?

risposta

20

Metodo primo commento è chiamato "tipo di hinting", ma si dovrebbe usare quella saggezza. La soluzione migliore è phpDoc.

/** 
* Some description of function behaviour. 
* 
* @param Whatever $blah 
*/ 
public function myFunction($blah) 
{ 
    $blah-> 
    // Now $blah is Whatever object, autocompletion will work. 
} 

È inoltre possibile utilizzare un commento phpDoc in linea che fa esattamente la stessa cosa.

public function myFunction($blah) 
{ 
    /* @var $blah Whatever */ 
    $blah-> 
    // Now $blah is Whatever object, autocompletion will work. 
} 
+0

Alan, stai dicendo che questo funziona in PDT perché in classe Netbeans Joe { pubblico $ a; pubblico $ b; } /* @var $ joe Joe */ $ joe-> non fornisce il completamento automatico. –

+0

sì, ma sto usando PDT 1.3 –

+0

Ho appena provato questo in Netbeans 6.9.1 e funziona come un fascino. A mio avviso, più semplice della risposta accettata, sembra che il supporto per i PHP sia migliorato da quando il commento di Yar è stato aggiunto. – henrik

7

tenta di passare definizione di classe parametro nella funzione:

function myFunction(Whatever $blah) { 
} 
+0

che funziona, ma ora ho esteso la domanda, spero che non ti dispiaccia! Grazie per la tua grande risposta, che già aiuta. –

+0

Ah, e su "Modifica": non so davvero come ottenerlo in modo elegante. Ma l'installazione di Eclipse + PDT risolve bene i parametri di classe in casi simili. – maxnk

+0

Ok, se nessuno può batterlo - molto possibile, ma forse c'è un modo commovente per farlo - ti darò la migliore risposta. Prova Netbeans, sono appena passato da PDT ... potresti scavarlo. –

Problemi correlati