Drupal 8 में Composer: Twitter से नवीनतम ट्वीट दिखाना
मॉड्यूल और लाइब्रेरी स्थापित करने के लिए Composer का उपयोग करना सबसे अच्छा तरीका है। Composer एक लाइब्रेरी मैनेजर है, जो विभिन्न मॉड्यूल्स और लाइब्रेरियों के बीच निर्भरताओं (dependencies) को नियंत्रित करता है। यदि किसी मॉड्यूल को किसी लाइब्रेरी की आवश्यकता होती है, तो Composer उसे स्वतः डाउनलोड और इंस्टॉल कर देता है। एक तरफ़ Composer मॉड्यूल स्थापना प्रक्रिया को थोड़ा जटिल बनाता है, लेकिन दूसरी तरफ यह लाइब्रेरियों के प्रबंधन को बहुत आसान कर देता है, क्योंकि अब वे खुद-ब-खुद डाउनलोड और लोड हो जाती हैं।
Composer डाउनलोड और इंस्टॉल करने के लिए आधिकारिक वेबसाइट पर जाएं:
https://getcomposer.org/download/
वैसे, अब Drush भी Composer के माध्यम से ही इंस्टॉल होता है। यदि आपने पहले से Drush स्थापित किया है, तो आपके पास Composer पहले से मौजूद होगा। यह जांचने के लिए कि Composer स्थापित है या नहीं, निम्न कमांड चलाएँ:
composer --version
परिणामस्वरूप, Composer का संस्करण प्रदर्शित होना चाहिए:
अब अपनी साइट की फ़ोल्डर में कंसोल के माध्यम से जाएं और Composer के साथ कार्य करना प्रारंभ करें।
Drupal 8 में Twitter से नवीनतम ट्वीट्स दिखाना
सबसे पहले आपको Twitter पर एक application बनानी होगी और कुछ API टोकन प्राप्त करने होंगे। आप ऐसा यहां कर सकते हैं:
ध्यान दें कि Twitter API का 1.0 संस्करण अब अप्रचलित हो चुका है, और 1.1 या उससे ऊपर के संस्करण का उपयोग अनिवार्य है।
1. डेवलपर अकाउंट बनाना: सबसे पहले अपना डेवलपर अकाउंट बनाएं। यह निःशुल्क है और API का उपयोग करने के लिए आवश्यक है।
फॉर्म भरने के बाद My Apps पेज पर जाएं और “Create New App” पर क्लिक करें:
2. Twitter Application बनाना: अपने वेबसाइट डोमेन सहित सभी आवश्यक फ़ील्ड भरें।
सफलतापूर्वक बनने के बाद आपको निम्नलिखित विवरण मिलेंगे:
- Consumer key
- Consumer secret
- Access token
- Access token secret
इनका उपयोग API अनुरोधों को प्रमाणित करने के लिए किया जाएगा।
3. Access Token बनाना: “Generate Access Token” पर क्लिक करें — यह आवश्यक Access Token और Access Token Secret उत्पन्न करेगा।
अब हम Twitter API के माध्यम से ट्वीट्स प्राप्त कर सकते हैं। हालांकि सीधे HTTP अनुरोध करना संभव है, बेहतर तरीका है कि हम एक तैयार PHP Twitter API लाइब्रेरी का उपयोग करें:
https://packagist.org/packages/j7mbo/twitter-api-php
इसे इंस्टॉल करने के लिए Composer में निम्न कमांड लिखें:
composer require j7mbo/twitter-api-php
Composer आवश्यक सभी निर्भरताएँ स्वचालित रूप से डाउनलोड करेगा।
Drupal मॉड्यूल का उदाहरण: Twitter Block
यह मॉड्यूल Twitter से नवीनतम ट्वीट दिखाता है। सभी API कुंजियाँ और टोकन एक अलग सेटिंग फॉर्म में रखे गए हैं:
/admin/structure/twitter-block/settings
मॉड्यूल का कोड GitHub पर उपलब्ध है:
https://github.com/levmyshkin/twitter_block
मुख्य फ़ाइलें:
twitter_block.info.yml
name: Twitter Block description: Display Last tweets. type: module core: 8.x package: Custom
src/Plugin/Block/TwitterBlock.php — ब्लॉक कोड जो ट्वीट्स दिखाता है।
// कोड संक्षेप में प्रस्तुत class TwitterBlock extends BlockBase { public function build() { // Twitter API से ट्वीट प्राप्त करने का लॉजिक } }
src/Form/TwitterBlockSettingsForm.php — सेटिंग फ़ॉर्म जो API कुंजियों को सहेजता है।
// कोड संक्षेप में प्रस्तुत class TwitterBlockSettingsForm extends ConfigFormBase { public function buildForm(...) { // API कुंजी, सीक्रेट, टोकन के लिए फ़ील्ड्स } }
twitter_block.routing.yml — कॉन्फ़िगरेशन पेज का मार्ग निर्धारित करता है।
twitter_block.settings: path: '/admin/structure/twitter-block/settings' defaults: _form: '\Drupal\twitter_block\Form\TwitterBlockSettingsForm' _title: 'Twitter API Settings' requirements: _permission: 'administer site configuration'
composer.json — मॉड्यूल की निर्भरता निर्दिष्ट करता है:
{ "name": "drupal/twitter_block", "type": "drupal-module", "description": "Displays Last tweets.", "require": { "j7mbo/twitter-api-php": "dev-master" }, "minimum-stability": "dev" }