क्या फ़ंक्शंस को कॉल करते समय __call
जादू विधि का उपयोग करना संभव है?स्थिर कक्षाओं के साथ __call का उपयोग कर?
7
A
उत्तर
15
अभी तक, मुझे पता नहीं था कि पाइपलाइन में एक प्रस्तावित (अब उपलब्ध) __callStatic
Docs विधि है। अन्यथा __call
और अन्य __
जादू विधियों को किसी ऑब्जेक्ट के उदाहरण के अलावा किसी भी चीज़ के उपयोग के लिए उपलब्ध नहीं है।
8
आपको अन्य जादू विधि, __callStatic
का उपयोग करना होगा - यह केवल PHP> = 5.3 में उपलब्ध है, जिसे वास्तव में अभी तक जारी नहीं किया गया है।
0
जैसा कि पहले बताया गया है, कोई जादू स्थैतिक कॉलर नहीं है। लेकिन आप इस तरह कोड कर सकते हैं:
class First {
public static function test1(){
return 1;
}
public static function test2(){
return 2;
}
}
class Second {
public static function test1(){
if(func_num_args()>0){
return func_get_args();
}
return 21;
}
public static function test2(){
return 22;
}
}
class StaticFactory {
public static function factory($class, $method){
if(func_num_args()>2){
$args = func_get_args();
array_shift($args);
array_shift($args);
return call_user_func_array(array($class,$method), $args);
}else{
return call_user_func_array(array($class,$method), array());
}
}
}
print_r(StaticFactory::factory("Second", "test1", 1, false, true));
print_r(StaticFactory::factory("First", "test1"));
संबंधित मुद्दे
- 1. उपयोग प्रतिबिंब स्थिर कक्षाओं
- 2. __call()
- 3. सी # एमईएफ उपयोग स्थिर कक्षाओं
- 4. अमूर्त कक्षाओं के साथ डब्ल्यूसीएफ का उपयोग
- 5. पीएचपी का जादू विधि __call
- 6. स्थिर बनाम तत्काल कक्षाओं का उपयोग कब करें
- 7. __call सार्वजनिक तरीकों के बराबर
- 8. कक्षाओं में अनियमित स्थिर सदस्य
- 9. आंशिक कक्षाओं का उपयोग
- 10. कक्षाओं का सही उपयोग?
- 11. सीटीपीएस के साथ सी ++ कक्षाओं का उपयोग कैसे करें?
- 12. सी ++ बूस्ट के साथ कक्षाओं का उपयोग :: lexical_cast
- 13. एकाधिक कक्षाओं के साथ log4j का उपयोग कैसे करें?
- 14. अस्वीकरण का उपयोग कर स्थिर सदस्य के लिए sfinae चेक
- 15. एक स्थिर घटना के साथ WeakEventManager का उपयोग
- 16. मैं एसिंक/प्रतीक्षा ऑपरेशन के भीतर स्थिर विधि/कक्षाओं का उपयोग कैसे करना चाहिए?
- 17. नेस्टेड कक्षाओं के साथ लैम्ब्डा
- 18. कक्षाओं के साथ स्पाइसिंग सी
- 19. क्या प्रतिबिंब कक्षाओं का उपयोग कर एक निजी/संरक्षित स्थिर संपत्ति सेट करने का कोई तरीका है?
- 20. डॉक्सिजन का उपयोग कर फ़ोल्डर/निर्देशिका द्वारा कक्षाओं की सूची?
- 21. अजाक्स के साथ setTimeout का उपयोग कर
- 22. विवर्तन के साथ diffstat का उपयोग कर?
- 23. एएसएम का उपयोग कर प्रारंभकर्ता के साथ स्थिर अंतिम फ़ील्ड को कैसे जोड़ा जाए?
- 24. ffmpeg का उपयोग कर एक स्थिर पृष्ठभूमि छवि पर पारदर्शिता के साथ ओवरले एनिमेटेड छवियां?
- 25. php में अन्य कक्षाओं में कक्षाओं का उचित उपयोग कर रहे हैं?
- 26. अमूर्त कक्षाओं का परीक्षण करने के लिए मॉकिटो का उपयोग
- 27. सी # में कक्षाओं का उपयोग कब करें?
- 28. विभिन्न कक्षाओं में QNetworkAccessManager का उपयोग कैसे करें? कक्षाओं के बीच महत्वपूर्ण डेटा का सामान्य साझाकरण?
- 29. स्थिर कोशिकाओं के साथ UITableView
- 30. स्थिर सॉर्टिंग का उपयोग कर डेटाग्रिड को कैसे सॉर्ट करें?
ध्यान दें कि अभी तक उपलब्ध नहीं है। – David
आह बग्जर - मैं इस बारे में सोच रहा था, और सवाल लिखना शुरू कर दिया ... फिर मुझे __callStatic मिला लेकिन मुझे एहसास नहीं हुआ कि यह तब तक उपलब्ध नहीं होगा जब तक कि PHP 5.3 – nickf
मैं "मामूली" के लिए उत्साहित नहीं हूं तब से PHP में रिलीज ... हाँ PHP5.3 मुझे भाषा के लिए आशा देता है। – David