PHP Static Method Using Private Class Functions/Variables -


अगर मैं एक वर्ग में एक सार्वजनिक स्थिर विधि लिखता हूं ...

  सार्वजनिक स्थिर फ़ंक्शन get_info ($ प्रकार) {स्विच ($ प्रकार) {case'title ': self :: get_title (); टूटना; }}  

मुझे अपने get_title () फ़ंक्शन को सार्वजनिक के रूप में लिखना होगा ...

  सार्वजनिक स्थिर कार्य get_title () {return 'title'; }  

नहीं तो मुझे त्रुटि मिलती है:

  निजी विधि को कॉल पेज :: प्राप्त_चिटिल ()  

कौन सा मुझे लगता है जैसे फ़ंक्शन get_info () अनिवार्य रूप से बेमानी है I मैं मान्यता उद्देश्यों के लिए अपने वर्ग के अंदर एक निजी विधि से कॉल करने के लिए सक्षम होना चाहता हूं क्या यह असंभव है?

PHP> 5.0 btw।

! ###### संपादित करें समाधान (लेकिन सवाल के जवाब नहीं) #########!

यदि आप उत्सुक हैं, तो मेरा काम स्थिर कार्य के अंदर मेरा स्थिर फ़ंक्शन वर्ग को इन्स्तांत करना था।

इसलिए, वर्ग का नाम पृष्ठ था, मैं ऐसा करूँगा ...

<पूर्व> सार्वजनिक स्थिर फ़ंक्शन get_info ($ प्रकार) {$ page = new Page (); स्विच ($ प्रकार) {case'title ': $ page- & gt; get_title (); टूटना; }} सार्वजनिक फ़ंक्शन get_title () {वापसी 'शीर्षक'; }

हाँ, यह असंभव है - एक गैर-स्थिर विधि को डेटा पढ़ने के लिए एक ऑब्जेक्ट की आवश्यकता है से, जबकि एक स्थिर एक बिंदु यह है कि इसमें कोई ऐसी वस्तु संलग्न नहीं है आप एक अन्तर्निहित तर्क को पारित होने के प्रत्येक गैर-स्थिर विधि के बारे में सोच सकते हैं, वस्तु यदि आप एक स्थिर कार्य से कॉल कर रहे हैं, तो इस विधि पर इस मान को पास करने के लिए आपके पास कोई मान नहीं है।

अपडेट आप निजी स्थिर कार्य कर सकते हैं - मुझे यकीन नहीं है कि आपके प्रश्न में परस्पर अनन्य अवधारणाओं के रूप में निजी और स्थिर की थोड़ी गलतफहमी शामिल हो सकती है


Comments

Popular posts from this blog

c# - sqlDecimal to decimal clr stored procedure Unable to cast object of type 'System.Data.SqlTypes.SqlDecimal' to type 'System.IConvertible' -

Calling GetGUIThreadInfo from Outlook VBA -

Obfuscating Python code? -