उदाहरण काम नहीं करता:प्रवेश वर्ग लगातार गर्त संपत्ति
class LOL{
const
FOO = 1;
}
$x = new LOL;
$arr = array('x' => $x);
echo $x::FOO; // works
echo $arr['x']::FOO; // works too
लेकिन अगर मैं मेरी कक्षा उदाहरण एक संपत्ति बनाने के लिए, मैं अब और निरंतर उपयोग नहीं कर सकते:
class WWW{
protected $lol;
public function __construct($lol){
$this->lol= $lol;
}
public function doSMth(){
echo $this->lol::FOO; // fail. parse error.. wtf
}
}
$w = new WWW;
$w->doSMth();
:(
मुझे पता है कि मैं सिर्फ echo LOL::FOO
कर सकता हूं, लेकिन क्या होगा यदि कक्षा का नाम अज्ञात है? उस स्थिति से मुझे केवल उस वस्तु/संपत्ति तक पहुंच है, और मैं वास्तव में नहीं चाहता कि डब्ल्यूडब्ल्यूडब्ल्यू वर्ग ओटी के "जागरूक" हो उसकी कक्षाएं और उनके नाम। यह केवल दिए गए ऑब्जेक्ट
इस $ w = नया WWW (नया एलओएल) आज़माएं; ? – Gntem
लेकिन अगर वर्ग का नाम ज्ञात नहीं है, तो आप कैसे जान सकते हैं कि इसके साथ शुरू करने के लिए 'कॉन्स फूड' है? (जब तक कि आपके सभी वर्ग कुछ इंटरफ़ेस को कार्यान्वित नहीं कर रहे हों या कुछ वर्ग को विस्तारित कर रहे हों) –
क्योंकि यह अपेक्षा करता है कि स्थिर होना मौजूद है: पी – Alex