2009-07-31 13 views
13

से कक्षा का नाम प्राप्त करें क्या इसे शीर्ष स्तर की कक्षा से सेट किए बिना, विस्तारित कक्षा से शीर्ष स्तर की कक्षा का नाम प्राप्त करना संभव है। नीचे उदाहरण देखें, मैं बेस से 'फू' प्राप्त करना चाहता हूं। मुझे पता है कि मैं फू से एक चर सेट कर सकता हूं, लेकिन अतिरिक्त कदम छोड़ने की उम्मीद कर रहा हूं।विस्तारित कक्षा

धन्यवाद।

class Base { 

    function __construct() { 

     echo '<p>get_class: '.get_class().'</p>'; 
     echo '<p>__CLASS__: '.__CLASS__.'</p>'; 

    } 

} 


class Foo extends Base { 

} 


$test = new Foo(); 

(पीएचपी 5.2.4+)

उत्तर

25

उपयोग:

get_class($this); 
+0

यह नहीं पता कि इसे किसके लिए श्रेय देना है। तो मैं जवाब के साथ पहला व्यक्ति चुनूँगा। –

25

स्थिर कक्षाओं के लिए get_called_class() या get_class($this) instantiated के लिए।

get_called_class(), के रूप में जेसन ने कहा, पीएचपी में पेश किया गया था 5.3

+1

'get_called_class()' 5.3 – jason

+5

के बाद से ही उपलब्ध है मुझे PHP 5.3 पसंद है। –

+1

PHP 5.5 के बाद से, आप 'get_called_class()' और 'get_class ($ यह)' के बजाय 'static :: class' का उपयोग कर सकते हैं। –

3

आप बस का उपयोग कर सकते हैं:

get_class($this); 
संबंधित मुद्दे