दिलचस्प पोस्ट
iphone रिबूट प्रोग्रामेटिक रूप से नेविगेशन ड्रॉवर को दाएं से बाएं खोलने के लिए कैसे सेट करें सी # सहवर्ती के बारे में प्रश्न PHP में वैश्विक चर और फ़ंक्शन मापदंडों के बीच लाभ / हानि? गतिशील रूप से मॉटप्ललिब में भूखंड को अद्यतन करना सी # में टाइप करने के लिए स्ट्रिंग कन्वर्ट करें क्या इनलाइन कीवर्ड को टेम्पलेट्स के साथ उपयोग करने का कोई मतलब है? वर्तमान महीने के पहले दिन php में date_modify के रूप में dateTime ऑब्जेक्ट का उपयोग करें कमांड लाइन से JUnit परीक्षण के मामलों को चलाने के लिए कैसे? NHibernate के साथ पेजिंग कैसे कर सकते हैं? डुप्लिकेट डिक्ट इन पायथन में सूची निकालें पादलेख को पृष्ठ के निचले भाग से सही बनाएं बहुरूपता का वर्णन करने की कोशिश करें जितना आसान हो सकता है छवियों को ओवरले कैसे करें टाइमआउट अवधि के बाद टास्क का इंतजार कैसे रद्द करें

PHP फ़ंक्शन परिभाषित करने के लिए एक चर का उपयोग करें

मैं वैरिएबल का उपयोग करके कुछ फ़ंक्शन गतिशील रूप से नाम देना चाहता हूं, जैसे:

$thing = 'some_function'; function $thing() { echo 'hi!'; } 

मुझे पता है कि मैं इस तरह एक चर का उपयोग कर एक फ़ंक्शन कॉल कर सकता हूं:

 $something = 'function_exists'; if( $something('print_r') ) { echo 'Yep'; } 

लेकिन शीर्ष उदाहरण मेरे लिए काम नहीं करता है

कोई विचार?

मैं एक ऐसी प्रणाली का उपयोग कर रहा हूं जिसमें मॉड्यूल हैं प्रत्येक मॉड्यूल एक एकल php स्क्रिप्ट है जिसे किसी विशेष फ़ोल्डर से जोड़ा या हटाया जा सकता है।

प्रत्येक मॉड्यूल को यह आरंभ करने के लिए एक नया फ़ंक्शन आवश्यक है। मैं फ़ाइल नामों के लिए ग्लोबिंग कर रहा हूं, फिर मुझे लूप करना चाहिए और एक श्रृंखला बनाना होगा, प्रत्येक मॉड्यूल के लिए एक।

मैं एक मौजूदा सिस्टम का उपयोग कर रहा हूं और मॉड्यूल हैंडलिंग को फिर से लिख नहीं सकता।

वैकल्पिक रूप से केवल सभी init फ़ंक्शंस लिखना और उन्हें कठिन कोड लिखना होगा, लेकिन जैसा कि सूची बढ़ती है, वैसे ही कोड होता है – और यदि कोई मॉड्यूल लिया जाता है तो त्रुटियां फेंक दी जाती हैं।

वेब के समाधान से एकत्रित समाधान "PHP फ़ंक्शन परिभाषित करने के लिए एक चर का उपयोग करें"

आप क्या कर सकते हैं

 $thing = 'some_function'; $$thing = function() { echo 'hi'; }; $some_function(); 

Php <5.3 में, आपको अनाम फ़ंक्शन के बजाय create_function का उपयोग करना होगा :

 // Use this in < 5.3 $thing = 'some_function'; $$thing = create_function('', 'echo "hi";' ); $some_function(); 

कहा जा रहा है, गतिशील नाम के साथ कार्य परिभाषित करना एक बुरा विचार है इसके बजाय, आप जिन कार्यों में कॉल करते हैं, या बहुरूपता का उपयोग करें