تسريع عملية تطوير Drupal باستخدام وحدة تحكم Drupal و Drush
نشرت: 2022-02-22لقد كتبنا على نطاق واسع (نحن في هذه الأشياء) حول كيف أن دروبال 8 لم يقم فقط بتحديث التجارب الرقمية للمستخدم ولكن أيضًا سهّل أعمال التطوير لمطوري دروبال. سنناقش في هذه المقالة اثنتين من أدوات دروبال 8/9 المساعدة اللتين عملتا على تبسيط وتحسين الطريقة التي تعمل بها مع كود دروبال ووحداته وتركيباته - دروبال كونسول و دروش.
ما هي وحدة تحكم دروبال
منذ تقدم دروبال 8 ، أصبح من الضروري إضافة الكثير من التعليمات البرمجية المعيارية لبناء وحدة نمطية جديدة. بالطبع ، يمكنك ببساطة نسخ الشفرة ولصقها ، ولكن القيام بذلك بشكل متكرر قد يفتح الأبواب لكثير من الأخطاء. كل شيء على مايرام. نحن بشر. لحسن الحظ ، لدينا وحدة تحكم Drupal - وهي مجموعة من الأدوات التي تقوم بتشغيلها على CLI (واجهة سطر الأوامر) التي تتيح لك إنشاء رمز معياري تلقائيًا. إنها تستفيد من Symfony Console ومكونات الطرف الثالث الأخرى لإنشاء معظم التعليمات البرمجية اللازمة لبناء وحدة Drupal 8/9.
ما هو دروش
Drush (Drupal + Shell) هي أداة CLI الأصلية لدروبال. يتيح لك إنشاء مواقع ويب Drupal الجديدة بسهولة ويساعدك على تبسيط التطوير والمهام الإدارية. يأتي Drush مزودًا بالعديد من الأوامر سهلة التنفيذ التي تتيح لك التفاعل مع تركيبات Drupal والسمات والوحدات النمطية والمزيد. بعض المهام الأخرى التي يمكنك تنفيذها باستخدام Drush هي تصدير / استيراد التكوينات والتخزين المؤقت وتحديث وحدات المساهمة وتحديث قاعدة البيانات وغير ذلك الكثير.
يعمل Drush بشكل جيد مع دروبال 6/7/8/9 ويقدم مزايا لممارسات التطوير الحديثة. يساعد في توفير وقت التطوير ، سواء أثناء ترحيل وحدات دروبال الحالية أو أثناء إنشاء وحدات جديدة وبالتالي زيادة الإنتاجية. تعرف على كيفية إنشاء أوامر Drush المخصصة الخاصة بك في هذه المقالة.
تركيب وحدة تحكم دروبال
يمكن تثبيت وحدة تحكم دروبال من خلال طرق مختلفة مثل الملحن ، الضفيرة ، phar وما إلى ذلك. إليك مثال على تثبيتها باستخدام الملحن:
التثبيت عالميًا عبر الملحن
composer global require drupal/console
التثبيت الخاص بالموقع
1. انتقل إلى موقع Drupal في CLI:
cd /path/to/drupal_site
2. تنفيذ أمر يتطلب الملحن:
composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader
تركيب دروش
يمكن تثبيت Drush من خلال طرق مختلفة مثل الملحن أو curl أو phar. فيما يلي مثال على تثبيته باستخدام الملحن:
التثبيت عالميًا عبر الملحن
composer global require drush/drush
التثبيت الخاص بالموقع
1. انتقل إلى موقع Drupal في CLI:
cd /path/to/drupal_site
2. تنفيذ أمر يتطلب الملحن:
composer require drush/drush
أوامر واستخدام دروبال
تحقق من بعض أوامر Drupal Console الأكثر شيوعًا وإفادة ومتى يمكن استخدامها.
أمر تصحيح دروبال
- لتحديد نقاط التوقف أثناء العمل على السمات:
drupal debug:breakpoints {theme_name}
مثال: تصحيح دروبال: نقاط توقف بارتيك
- للعثور على فئة الخدمة واسمها بسهولة عند التعامل مع الخدمات:
drupal debug:config:settings
- لتحديد نقطة الفشل عندما يكون لديك كتل مكسورة مؤلمة:
drupal debug:plugin block broken
إنشاء وحدات مخصصة
قم بإنشاء وحدات مخصصة في غضون دقيقة باستخدام هذا الأمر:
drupal generate:module \ --module="modulename" \ --machine-name="modulename" \ --module-path="/modules/custom" \ --description="My Awesome Module" \ --core="8.x" \ --package="Custom" \ --module-file \ --composer \ --test \ --twigtemplate
إنشاء نموذج مخصص
متطلبات النماذج المخصصة شائعة جدًا عبر المشاريع. إنشاء نموذج مخصص بسهولة باستخدام هذا الأمر:
drupal generate:form \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
توليد نموذج التكوين
كما هو الحال مع النماذج المخصصة ، فإننا نطلب النماذج التي تم تكوينها بواسطة المسؤول أيضًا. باستخدام هذا الأمر ، يمكنك إنشاؤها بسهولة:
drupal generate:form:config \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
توليد وحدة تحكم
مع النماذج المخصصة سوف تحتاج إلى وحدات تحكم. يمكنك بسهولة إنشاء وحدات تحكم مخصصة باستخدام هذا الأمر:
drupal generate:controller \ --module="modulename" \ --class="DefaultController" \ --routes='"title":"ControllerMethod", "name":"modulename.default_controller_hello", "method":"hello", "path":"/modulename/hello/{name}"' \ --test
إنشاء كيان مخصص
لا يجب أن يستغرق إنشاء كيان مخصص وقتًا طويلاً ، باستخدام هذا الأمر يمكنك إنشائه بسرعة وسهولة:
drupal generate:entity:content \ --module="modulename" \ --entity-class="DefaultEntity" \ --entity-name="default_entity" \ --base-path="/admin/structure" \ --label="Default entity" \ --is-translatable \ --revisionable --has-forms
إنشاء خدمة مخصصة
يساعدك هذا الأمر في إنشاء خدمات مخصصة:
drupal generate:service \ --module="modulename" \ --name="modulename.default" \ --class="DefaultService" \ --interface \ --interface-name="InterfaceName" \ --path-service="/modules/custom/modulename/src/"
إنشاء محتوى مثل المستخدم: إنشاء
لإنشاء مستخدم من النهاية الخلفية ، لا تحتاج إلى فتح المتصفح وتسجيل الدخول مع المسؤول ثم إنشاء حساب. ما عليك سوى استخدام هذا الأمر لإنشاء مستخدم في لمح البصر:
drupal user:create username password \ --roles='authenticated' \ --email="[email protected]" \ --status="1"
توليد البرنامج المساعد مثل الكتلة
Drupal Console قادر أيضًا على إنشاء العديد من المكونات الإضافية مثل الكتل. فيما يلي مثال على إنشاء كتلة مخصصة:
drupal generate:plugin:block \ --module="modulename" \ --class="DefaultBlock" \ --label="Default block" \ --plugin- \ --theme-region="header" \ --inputs='"name":"inputtext", "type":"text_format", "label":"InputText", "options":"", "description":"Just an input text", "maxlength":"", "size":"", "default_value":"", "weight":"0", "fieldset":""'
لمزيد من أوامر وحدة التحكم في دروبال والاستخدام ، تحقق من هذه الأوامر المتاحة.
أوامر Drush الأكثر شيوعًا
درش كر | لإعادة بناء مخبأ دروبال |
drush cim | لاستيراد جميع ملفات التكوين |
drush cex | لتصدير ملفات التكوين |
drush uli | لتسجيل الدخول باستخدام عنوان URL لتسجيل الدخول لمرة واحدة |
drush en {module_name} | تمكن أي وحدة نمطية إما مخصصة أو مساهمات أو أساسية |
drush pmu {module_name} | تعطيل وإلغاء تثبيت أي وحدة |
drush pm: قائمة | يسرد جميع الوحدات مع الحزمة واسم الوحدة والإصدار والحالة |
دوش محدث | لتحديث قاعدة البيانات بعد الترقية |
حراسة drush: قائمة (ws) | يسرد جميع رسائل المراقبة |
حراسة الدوش: الذيل (بالوزن) | رسائل مراقبة الذيل المستمر |
رقابة drush: tail --type = php | رسائل مراقبة الذيل المستمرة بنوع خاص من الخطورة |
عدد قليل من أوامر Drush الرائعة
حالة drush | يقدم لمحة عامة عن تثبيت دروبال الحالي |
استنزاف توليد | كما هو الحال مع Drupal Console ، يساعد الأمر drush create في إنشاء الكيانات والمكونات الإضافية والمزيد |
drush pm: الأمن | للتحقق من حزمة Drupal composer للحصول على تحديثات الأمان |
دروش يهاجرون: الحالة | يسرد جميع عمليات الترحيل مع الوضع الحالي |
مستخدم drush: كلمة المرور {اسم المستخدم} {كلمة المرور} | يعيّن كلمة مرور المستخدم |
مستخدم drush: block | يساعد في منع المستخدم |
مستخدم drush: الدور: add | يساعد في إضافة أدوار المستخدم |
drush sql-dump | يصدر قاعدة بيانات دروبال على هيئة SQL باستخدام mysqldump أو ما يعادله. |