У меня есть несколько CONST, определенных на некоторых классах, и вы хотите получить их список. Например:Могу ли я получить CONST в классе PHP?
class Profile {
const LABEL_FIRST_NAME = "First Name";
const LABEL_LAST_NAME = "Last Name";
const LABEL_COMPANY_NAME = "Company";
}
Есть ли способ, чтобы получить список из ФИКСА, определенные на Profile
классе? Насколько я могу судить, ближайший вариант (get_defined_constants()
) не будет делать трюк.
То, что я на самом деле нужно, это список имен констант - что-то вроде этого:
array('LABEL_FIRST_NAME',
'LABEL_LAST_NAME',
'LABEL_COMPANY_NAME')
Или:
array('Profile::LABEL_FIRST_NAME',
'Profile::LABEL_LAST_NAME',
'Profile::LABEL_COMPANY_NAME')
Или даже:
array('Profile::LABEL_FIRST_NAME'=>'First Name',
'Profile::LABEL_LAST_NAME'=>'Last Name',
'Profile::LABEL_COMPANY_NAME'=>'Company')
с помощью отражения и ReflectionClass на Cl, вы можете использовать функцию getConstants http://nz.php.net/manual /en/class.reflectionclass.php –
[Отражение будет вашим спасителем] (http://se2.php.net/manual/en/reflectionclass.getconstants.php). –
Вы можете сделать это, используя [отражение] (http://nz.php.net/oop5.reflection). Найдите «Константы класса печати» на этой странице, чтобы увидеть пример. – n3rd