Sto passando il codice sorgente di CodeIgniter con Xdebug in NetBeans e sto cercando un modo per vedere le costanti definite così come sono definite. Se non è possibile, ci sono altri modi per visualizzare tutte le costanti definite?Come faccio a esaminare le costanti definite in PHP?
risposta
Dai un'occhiata alla funzione get_defined_constants
. Restituirà un array di tutte le costanti definite nel codice fino al punto della chiamata della funzione. È quindi possibile utilizzare print_r
per stampare l'array.
probabilmente avrete bisogno di adattarsi:
Le variabili e le costanti sono due mondi diversi ... quindi, no, probabilmente non si vuole adattare get_defined_vars() – Spooky
Il migliore che ho trovato è quello di premere F7 (passo verso), mentre in modalità di debug per avere la vostra linea costante eseguito.
define('SOME_CONSTANT','VALUE');
E quindi fare doppio clic su "SOME_CONSTANT", fare clic destro e scegliere aggiungere nuovo orologio (scorciatoia: Shift + Ctrl + F7), e la nuova finestra di controllo apparirà con la costante precompilato aggiungere, selezionare entrare e si dovrebbe vedi il tuo valore costante nelle Variabili (se hai il diamante blu selezionato "Mostra gli orologi nella vista delle variabili") & Pannello della finestra degli orologi.
Anche molto utile sapere, è possibile passare il mouse sopra le variabili per vedere il loro valore anziché guardare nel pannello Debug> Variabili ... è sufficiente accenderlo poiché è disattivato per impostazione predefinita ... apparentemente buggato. ..utilizzando l'ultimo xdebug e per me è andata bene finora.
Strumenti> Opzioni> PHP> Scheda Generale> Sezione Debugging> Controllare Orologi e Balloon valutazione
Speriamo che questo sarà ancora utile 2 anni più tardi.
Questo tipo di pratica che utilizzo è abbastanza dignitoso in quanto mostra solo costanti create dall'utente/personalizzate.
Avvolgere questo all'interno di pre-tag o solo visualizzare la fonte e otterrete una matrice molto bella di tutte le cose che hai definito.
Si noti che questo non funzionerà con php 5.3. * Dove in 5.4. * Emette bene.
Nelle versioni precedenti di php, get_defined_constants()
deve essere assegnato prima a una variabile, prima dell'output. Qualcosa di simile.
$gdc = get_defined_constants(true);
print_r(var_export($gdc['user'], true));
Soluzione piacevole per evitare di visualizzare tutto (Super Globali, ecc.). Evita ** altri elementi ... ** alla fine dell'inserzione – Sablefoste
Ovviamente è nella libreria standard. D'oh! – MiseryIndex
Una delle più belle funzionalità di PHP è che ha quasi tutto ciò di cui avrete bisogno. – MitMaro
Da qui il grugnito annoiato. ;-) Ancora in attesa di vedere se qualcuno sa se Xdebug può visualizzare le costanti però. – MiseryIndex