5 HAZİRAN 2009, Cuma
SABİT'PHP bir sınıf üzerinde tanımlı s alabilir miyim?
Birkaç SABİT bazı sınıfları tanımlanmış ve bunların bir listesini almak istiyorum. Örneğin:
class Profile {
const LABEL_FIRST_NAME = "First Name";
const LABEL_LAST_NAME = "Last Name";
const LABEL_COMPANY_NAME = "Company";
}
İNŞ Profile sınıfı üzerinde tanımlı bir listesini almak için herhangi bir yolu var mı? Söyleyebileceğim kadarıyla, en yakın seçenek(get_defined_constants()), işe yaramayacaktır.
Aslında ne gerek sabit adları - böyle bir şey bir listesi:
array('LABEL_FIRST_NAME',
'LABEL_LAST_NAME',
'LABEL_COMPANY_NAME')
Ya da:
array('Profile::LABEL_FIRST_NAME',
'Profile::LABEL_LAST_NAME',
'Profile::LABEL_COMPANY_NAME')
Hatta:
array('Profile::LABEL_FIRST_NAME'=>'First Name',
'Profile::LABEL_LAST_NAME'=>'Last Name',
'Profile::LABEL_COMPANY_NAME'=>'Company')
CEVAP
5 HAZİRAN 2009, Cuma
Bunun için Reflection kullanabilirsiniz. Eğer bu yapıyorsun, eğer siz bir sürü sonucunu önbelleğe bakmak istiyorum unutmayın.
<?php
class Profile {
const LABEL_FIRST_NAME = "First Name";
const LABEL_LAST_NAME = "Last Name";
const LABEL_COMPANY_NAME = "Company";
}
$refl = new ReflectionClass('Profile');
print_r($refl->getConstants());
Çıkış:
Array
(
['LABEL_FIRST_NAME'] => First Name
['LABEL_LAST_NAME'] => Last Name
['LABEL_COMPANY_NAME'] => Company
)
Bunu PaylaÅŸ:

Nasıl bir tuval öğesi üzerinde fare bi...
Nasıl bir Python sınıf içinde yöntemle...
Bir elemanın üst göreli olarak sabit p...
Nasıl iPhone üzerinde yazılabilir bir ...
Nasıl bir soyut temel sınıf uygulayan ...