lunedì 29 aprile 2019

Stampare a video tutte le costanti PHP

Oggi vediamo un'esigenza un po' insolita ma che prima o poi può capitare a tutti, ovvero il dover stampare a video tutte le costanti presenti/usabili in sito php.
Grazie alla semplice funzione che andrò ad illustrare infatti, potremo sapere in un attimo quali costanti sono state definite a sistema, ed anche il loro contenuto.

Vediamo subito un esempio pratico per capirci meglio.


Come stampare a video tutte le costanti PHP


Innanzitutto, se per caso non sapete come definire una costante in php, basta rileggersi questo post.
Una volta compreso quindi cosa sono le costanti, come di definisco e come si richiamano, ecco che possiamo subito andare ad analizzare il seguente codice per ricavare l'elenco delle costanti php:

<?php
define("server","localhost");
define("tabella","test");
print_r(get_defined_constants(true));
?>


La funzione che fa quello che ci serve è la potentissima get_defined_constants, che può essere valorizzata a true o false per suddividere le costanti ricavate in categorie, in quanto questa funzione php non andrà solo a ricavare quelle definite da noi nel codice, ma anche tutte quelle di sistema.

Se quindi scriviamo get_defined_constants(false), il risultato sarà un array associativo contenente tutti gli array con key il nome della costante e come value il suo valore.
Se invece scriviamo get_defined_constants(true) il risultato sarà una suddivisione di costanti in core (costanti di sistema) e costanti user (ovvero le costanti definite da noi nella nostra applicazione).

Se quindi volessimo ricavare solo le costanti che abbiamo definito noi, ecco cosa potremmo scrivere:

<?php
define("server","localhost");
define("tabella","test");
print_r(get_defined_constants(true)["user"]);
?>


Ed ecco che a video avremo una cosa del genere:
Array ( [server] => localhost [tabella] => test )

Al momento non mi viene in mente nessun esempio valido, ma di sicuro saper come ricavare tutte le costanti usate in un sito/applicazione, prima o poi può sempre tornare utile.

Piaciuto l'articolo? Lascia un commento!

EmoticonEmoticon