2015-07-15 7 views
5

init() विधि:क्या() init के बीच का अंतर और __construct (है) तरीकों

public function init() 
{ 
} 

__construct() विधि:

public function __construct() 
{ 
} 

तो, उन दोनों के बीच differentce क्या है, और जो इस्तेमाल किया जाना चाहिए ?

+0

इसे पढ़ें: http://www.yiiframework.com/forum/index.php/topic/3884-init-or-contruct/ यह yii से है लेकिन अभी भी अवधारणा दोनों में समान थी। –

+0

http://www.yiiframework.com/doc-2.0/yii-base-object.html#__construct()-detail –

उत्तर

6

init()yii\base\Object (और अधिकांश वस्तुओं से विस्तारित) से फैली किसी भी वस्तु का तरीका है।

सरकारी डॉक्स से:

संपत्ति सुविधा के अलावा, वस्तु भी एक महत्वपूर्ण वस्तु प्रारंभ जीवन चक्र का परिचय। विशेष रूप से, वस्तु या उसके व्युत्पन्न वर्ग की एक नई उदाहरण बनाकर निम्नलिखित जीवन चक्र क्रमिक रूप से शामिल होगी:

  1. वर्ग निर्माता शुरू हो जाती है;
  2. ऑब्जेक्ट गुण दिए गए कॉन्फ़िगरेशन के अनुसार आरंभ किए गए हैं;
  3. init() विधि लागू की गई है।

उपरोक्त में, चरण 2 और 3 कक्षा कन्स्ट्रक्टर के अंत में होते हैं। यह अनुशंसा की जाती है कि आप init() विधि में ऑब्जेक्ट प्रारंभिक निष्पादित करें क्योंकि उस चरण में, ऑब्जेक्ट कॉन्फ़िगरेशन पहले से ही लागू है।

यह init() उपयोग करने के लिए अनुशंसा की जाती है, तो आप भी स्रोत कोड और एक्सटेंशन से इसे देख सकते हैं, लेकिन कुछ मामलों में, आप __construct() उपयोग कर सकते हैं। इसे लागू करने के लिए कुछ सिफारिशें हैं, आप इसे उसी पृष्ठ पर आधिकारिक दस्तावेज़ here में पा सकते हैं।

__constuct एक देशी PHP भाषा सुविधा है, तो आप this section में PHP आधिकारिक दस्तावेज़ों में इसके बारे में अधिक जानकारी पढ़ सकते हैं।

संबंधित मुद्दे