मैं गतिशील कुछ कार्यों वैरिएबल का उपयोग कर, इस तरह के नाम करना चाहते हैं परिभाषित करने के लिए एक चर का उपयोग करें:एक PHP समारोह
$thing = 'some_function';
function $thing() {
echo 'hi!';
}
मैं जानता हूँ कि मैं यह कर सकते हैं कॉल एक समारोह इस तरह एक चर का उपयोग कर:
$something = 'function_exists';
if($something('print_r')) {
echo 'Yep';
}
लेकिन शीर्ष उदाहरण मेरे लिए काम नहीं करता है।
कोई विचार?
मैं ऐसे सिस्टम का उपयोग कर रहा हूं जिसमें मॉड्यूल हैं। प्रत्येक मॉड्यूल एक एकल PHP स्क्रिप्ट है जिसे किसी विशिष्ट फ़ोल्डर से जोड़ा या हटाया जा सकता है।
प्रत्येक मॉड्यूल को प्रारंभ करने के लिए एक नया फ़ंक्शन चाहिए। मैं फ़ाइल नामों के लिए glob'ing हूँ, तो मैं लूप करना चाहता हूं और कार्यों की एक श्रृंखला बनाना चाहता हूं, प्रत्येक मॉड्यूल के लिए एक।
मैं एक मौजूदा सिस्टम का उपयोग कर रहा हूं और मॉड्यूल हैंडलिंग को फिर से लिख नहीं सकता।
विकल्प केवल सभी इनिट फ़ंक्शंस को लिखना और हार्ड कोड लिखना होगा, लेकिन जैसे ही सूची बढ़ती है, कोड भी होता है - और यदि कोई मॉड्यूल हटाया जाता है तो त्रुटियां फेंक दी जाती हैं।
http://php.net/manual/en/function.call-user-func.php यह जांचें कि – Sleeperson
यह छोड़कर उपयोगी नहीं होगा। आप देखते हैं, यह कार्य स्थैतिक पूर्ण समय है - आप इस तरह से फ़ंक्शन कार्य को अलग-अलग नहीं कर सकते हैं। जो कुछ भी इस समारोह का नाम दिया जाएगा, यह कार्य इस तरह से कार्य करेगा, इससे कोई फर्क नहीं पड़ता। यह 'हैलो()' फ़ंक्शन बनाने जैसा है, अलग-अलग नाम को छोड़कर आप उपयोगकर्ता को कैसे पसंद करते हैं: पी। इस तरह के फ़ंक्शन के लिए, आप शायद इसे 'बेकार बनाकर' $ चीज़() 'का उपयोग करके एक्सेस करेंगे। सामान्य रूप से नाम सामान्य रूप से। – xfix
शायद आप समझा सकते हैं कि आप गतिशील रूप से स्थिर कार्य क्यों बना रहे हैं? यह आमतौर पर बोलने वाला एक बहुत अच्छा विचार प्रतीत नहीं होता है। शायद, अगर आप समस्या को समझाने की कोशिश कर रहे हैं, तो आप सुझाव दे सकते हैं कि लोग आपको बेहतर समाधान दे सकते हैं। –