Ho alcune CONST definite su alcune classi e voglio ottenerne una lista. Per esempio:Posso ottenere i CONST definiti su una classe PHP?
class Profile {
const LABEL_FIRST_NAME = "First Name";
const LABEL_LAST_NAME = "Last Name";
const LABEL_COMPANY_NAME = "Company";
}
Esiste un modo per ottenere un elenco dei CONST del definita sulla classe Profile
? Per quanto posso dire, l'opzione più vicina (get_defined_constants()
) non farà il trucco.
Quello che ho veramente bisogno è una lista dei nomi costanti - qualcosa di simile:
array('LABEL_FIRST_NAME',
'LABEL_LAST_NAME',
'LABEL_COMPANY_NAME')
Oppure:
array('Profile::LABEL_FIRST_NAME',
'Profile::LABEL_LAST_NAME',
'Profile::LABEL_COMPANY_NAME')
O anche:
array('Profile::LABEL_FIRST_NAME'=>'First Name',
'Profile::LABEL_LAST_NAME'=>'Last Name',
'Profile::LABEL_COMPANY_NAME'=>'Company')
utilizzando la riflessione, e un ReflectionClass su Cl, è possibile utilizzare le funzioni getConstants http://nz.php.net/manual /en/class.reflectionclass.php –
[Il riflesso sarà il tuo salvatore] (http://se2.php.net/manual/en/reflectionclass.getconstants.php). –
Puoi farlo usando [reflection] (http://nz.php.net/oop5.reflection). Cerca "Stampa costanti di classe" in quella pagina per vedere un esempio. – n3rd