कई विषयों में मैंने देखा है (जिसमें ट्वेंटीलेवेन भी शामिल है) और उदाहरणों में मैंने ऑनलाइन पाया है, जब functions.php
किसी थीम के लिए फ़ाइल का निर्माण करते समय सभी कार्यक्षमता को वैश्विक दायरे में घोषित किया जाता है। स्पष्ट करने के लिए, यह वह है जो एक विशिष्ट कार्य फ़ाइल जैसा दिखता है:
function my_theme_do_foo() { // ... }
function my_theme_do_bar() { // ... }
add_action( 'foo_hook', 'my_theme_do_foo' );
यह मुझे प्रतीत होता है कि अगर एक वर्ग का उपयोग किया जाता है तो चीजें थोड़ी बेहतर हो सकती हैं:
class MyTheme {
function do_foo() { // ... }
function do_bar() { // ... }
}
$my_theme = new MyTheme();
add_action( 'foo_hook', array( &$my_theme, 'do_foo' ) );
दूसरे दृष्टिकोण के लाभ (मेरी नम आंखों में):
- छोटे समारोह के नाम
- उदाहरण के चर तक पहुँच (सबसे बड़ा लाभ IMO)
- कोई वैश्विक कार्य नहीं
नुकसान:
- क्लासनाम अभी भी संघर्ष का कारण बन सकता है
- एक बच्चे के विषय के साथ "अनुकूलित" करने के लिए स्पष्ट नहीं है (एक मूल वर्ग का विस्तार करना होगा)
- अधिकांश विषयों ने इसे इस तरह से नहीं किया है, इसलिए आप प्रवृत्ति को बढ़ा रहे हैं
मैं शायद कुछ चीजों की अनदेखी कर रहा हूं, लेकिन मैं सोच रहा हूं कि ओओपी दृष्टिकोण क्यों नहीं लिया जाए? यह मुझे थोड़ा "क्लीनर" लगता है, अगर कुछ भी। शायद मुझसे गलती हुई है?
मैं वर्डप्रेस थीम के विकास में काफी नया हूं, इसलिए मुझे क्षमा करें अगर यह WP समुदाय में सामान्य ज्ञान है :)। बस यह जानने की कोशिश कर रहे हैं कि चीजें किस तरह से हैं।