आपके Drupal 8 मॉड्यूल के नामकरण और स्थान निर्धारण के नियम
शुरू करने से पहले
यदि आप चाहते हैं कि PHP आपकी टेस्ट साइट पर त्रुटियों की पहचान करने में मदद करे, तो यहाँ दी गई सेटिंग्स आज़माएँ: डेवलपमेंट के दौरान सभी त्रुटियाँ प्रदर्शित करें।
अपने मॉड्यूल का नाम दें
मॉड्यूल बनाने का पहला चरण है इसके लिए एक “शॉर्ट नेम” या मशीन नेम चुनना। यह मशीन नेम आपके मॉड्यूल की कई फाइलों और फंक्शनों में उपयोग किया जाएगा, और Drupal कोर इसका उपयोग आपके मॉड्यूल की पहचान करने के लिए प्रोग्रामेटिक रूप से करता है।
मशीन नेम चुनते समय कुछ महत्वपूर्ण नियमों का पालन करना आवश्यक है:
- यह एक अक्षर से शुरू होना चाहिए।
- इसमें केवल छोटे अक्षर (lowercase letters) और अंडरस्कोर (_) होने चाहिए।
- इसमें स्पेस नहीं होना चाहिए।
- यह यूनिक होना चाहिए। आपका मॉड्यूल उसी नाम का नहीं होना चाहिए जो किसी अन्य मॉड्यूल, थीम या इंस्टॉलेशन प्रोफ़ाइल का है जिसका उपयोग आप साइट पर कर रहे हैं।
- निम्नलिखित आरक्षित शब्दों का उपयोग नहीं किया जाना चाहिए:
src
,lib
,vendor
,assets
,css
,files
,images
,js
,misc
,templates
,includes
,fixtures
,Drupal
इस उदाहरण के लिए हम “hello_world” को मशीन नेम के रूप में चुनेंगे।
महत्वपूर्ण नोट: अपने मॉड्यूल के मशीन नेम में बड़े अक्षरों (uppercase letters) का उपयोग न करें, क्योंकि Drupal आपके hook implementations को पहचान नहीं पाएगा। देखें Drupal मॉड्यूल्स के लिए Hook सिस्टम को समझना।
अपने मॉड्यूल के लिए एक फ़ोल्डर बनाएँ
हमने “hello_world” मशीन नेम चुना है, इसलिए अपने Drupal इंस्टॉलेशन में निम्न पथ पर फ़ोल्डर बनाएँ: /modules/custom/hello_world या /sites/all/modules/hello_world। आप /custom उप-फ़ोल्डर को छोड़कर /modules/hello_world में भी मॉड्यूल रख सकते हैं, लेकिन अपने स्वयं के मॉड्यूल्स के लिए एक समर्पित स्थान (/modules/custom) रखना अच्छी प्रैक्टिस है, ताकि वे contrib मॉड्यूल्स से अलग और आसानी से पहचानने योग्य रहें।
ध्यान दें कि आपके मॉड्यूल के फ़ोल्डर का नाम आपके मशीन नेम से मेल खाना आवश्यक नहीं है। आप चाहें तो फ़ोल्डर का नाम “HelloWorld” रख सकते हैं, लेकिन आपको अपने कोड और फ़ाइल नामों में मशीन नेम (“hello_world”) का ही उपयोग करना चाहिए।
Drupal के पिछले संस्करणों में कस्टम मॉड्यूल्स को /sites/all/modules में रखना आवश्यक था, क्योंकि कोर मॉड्यूल्स /modules में स्थित थे। हालाँकि, Drupal 8 में /modules फ़ोल्डर अब आपके कस्टम और contrib मॉड्यूल्स के लिए उपलब्ध है। सभी कोर मॉड्यूल्स और लाइब्रेरी फाइलें अब /core डायरेक्टरी में हैं। आप अभी भी /sites/all/modules का उपयोग कर सकते हैं (जैसे Drupal 7/6 में किया जाता था), लेकिन Drupal 8 में /modules फ़ोल्डर में कस्टम मॉड्यूल्स रखना पूरी तरह मान्य और सरल विकल्प है।
हमारा उदाहरण मॉड्यूल अभी तक कार्य नहीं करेगा — इसके लिए पहले हमें .info.yml फ़ाइल की आवश्यकता होगी। इसके बारे में और जानें: .info.yml फ़ाइल के माध्यम से Drupal 8 को अपने मॉड्यूल के बारे में बताना। हम मॉड्यूल को बाद में इस गाइड में सक्रिय करेंगे।
कोडिंग मानक
हम दृढ़ता से अनुशंसा करते हैं कि आप कस्टम मॉड्यूल लिखते समय Drupal कोडिंग मानकों का पालन करें। यह Drupal कोर कोड में परिवर्तन के किसी भी प्रस्ताव के लिए आवश्यक है, और drupal.org पर प्रकाशित कोड के लिए भी अनुशंसित है।