เร่งการพัฒนา Drupal ด้วย Drupal Console และ Drush
เผยแพร่แล้ว: 2022-02-22เราได้เขียนไว้อย่างละเอียดถี่ถ้วนว่า Drupal 8 ไม่เพียงแต่ปรับปรุงประสบการณ์ดิจิทัลให้ทันสมัยสำหรับผู้ใช้เท่านั้น แต่ยังช่วยให้งานพัฒนาของนักพัฒนา Drupal ง่ายขึ้นอีกด้วย ในบทความนี้เราจะพูดถึงเครื่องมือยูทิลิตี้ Drupal 8/9 สองเครื่องที่ลดความซับซ้อนและปรับปรุงวิธีการทำงานกับโค้ด Drupal โมดูล และการติดตั้ง - Drupal Console และ Drush
Drupal Console คืออะไร
ตั้งแต่ความก้าวหน้าของ Drupal 8 จำเป็นต้องเพิ่มโค้ดสำเร็จรูปจำนวนมากเพื่อสร้างโมดูลใหม่ แน่นอน คุณสามารถคัดลอกและวางโค้ดได้ แต่การทำซ้ำหลายครั้งอาจเปิดประตูสู่ข้อผิดพลาดมากมาย ไม่เป็นไร. เราเป็นมนุษย์ โชคดีที่เรามีคอนโซล Drupal ซึ่งเป็นชุดเครื่องมือที่คุณเรียกใช้บน CLI (Command Line Interface) ที่ให้คุณสร้างโค้ดสำเร็จรูปได้โดยอัตโนมัติ ใช้ประโยชน์จาก Symfony Console และส่วนประกอบบุคคลที่สามอื่นๆ เพื่อสร้างโค้ดส่วนใหญ่ที่จำเป็นในการสร้างโมดูล Drupal 8/9
Drush คืออะไร
Drush (Drupal + Shell) เป็นเครื่องมือ CLI ดั้งเดิมสำหรับ Drupal ช่วยให้คุณสามารถสร้างเว็บไซต์ Drupal ใหม่ได้อย่างง่ายดายและช่วยให้คุณปรับปรุงงานด้านการพัฒนาและการดูแลระบบ Drush มาพร้อมกับคำสั่งที่ง่ายต่อการใช้งานมากมาย ซึ่งช่วยให้คุณโต้ตอบกับการติดตั้ง ธีม โมดูล และอื่นๆ ของ Drupal งานอื่นๆ บางอย่างที่คุณสามารถทำได้ด้วย Drush คือการส่งออก/นำเข้าการกำหนดค่า การแคช การอัปเดตโมดูล contrib การอัปเดตฐานข้อมูล และอื่นๆ อีกมากมาย
Drush ทำงานได้ดีกับ Drupal 6/7/8/9 และนำเสนอข้อดีของแนวทางการพัฒนาที่ทันสมัย ช่วยประหยัดเวลาในการพัฒนา ทั้งในระหว่างการโยกย้ายโมดูล Drupal ที่มีอยู่และในขณะที่สร้างโมดูลใหม่ซึ่งจะช่วยเพิ่มประสิทธิภาพการทำงาน เรียนรู้วิธีสร้างคำสั่ง Drush แบบกำหนดเองในบทความนี้
การติดตั้ง Drupal Console
คอนโซล Drupal สามารถติดตั้งได้ด้วยวิธีต่างๆ เช่น นักแต่งเพลง, curl, phar เป็นต้น นี่คือตัวอย่างการติดตั้งโดยใช้ผู้แต่ง:
ติดตั้งทั่วโลกผ่าน composer
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
สามารถติดตั้ง Drush ได้หลายวิธี เช่น นักแต่งเพลง curl หรือ phar นี่คือตัวอย่างการติดตั้งโดยใช้ผู้แต่ง:
ติดตั้งทั่วโลกผ่าน composer
composer global require drush/drush
การติดตั้งเฉพาะไซต์
1. ไปที่ไซต์ Drupal ใน CLI:
cd /path/to/drupal_site
2. ดำเนินการผู้แต่งต้องการคำสั่ง:
composer require drush/drush
คำสั่งและการใช้งานคอนโซล Drupal
ตรวจสอบคำสั่ง Drupal Console ที่ได้รับความนิยมและเป็นประโยชน์มากที่สุดและเมื่อใดที่สามารถใช้งานได้
คำสั่งดีบัก Drupal
- เพื่อระบุเบรกพอยต์ขณะทำงานกับธีม:
drupal debug:breakpoints {theme_name}
ตัวอย่าง: การดีบัก drupal:เบรกพอยต์ bartik
- วิธีค้นหาคลาสและชื่อของบริการอย่างง่ายดายเมื่อทำงานกับบริการ:
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/"
สร้างเนื้อหาเหมือน user:create
ในการสร้างผู้ใช้จากส่วนหลัง คุณไม่จำเป็นต้องเปิดเบราว์เซอร์และเข้าสู่ระบบด้วยผู้ดูแลระบบ จากนั้นจึงสร้างบัญชี เพียงใช้คำสั่งนี้เพื่อสร้างผู้ใช้ในระยะเวลาอันสั้น:
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":""'
สำหรับคำสั่งคอนโซลและการใช้งาน Drupal เพิ่มเติม ให้ตรวจสอบคำสั่งที่พร้อมใช้งานเหล่านี้
คำสั่ง Drush ยอดนิยม
ดรัช cr | เพื่อสร้าง Drupal cache ใหม่ |
drush cim | ในการนำเข้าไฟล์การกำหนดค่าทั้งหมด |
ดรัช cex | ในการส่งออกไฟล์การกำหนดค่า |
drush uli | เข้าสู่ระบบโดยใช้ url เข้าสู่ระบบแบบครั้งเดียว |
ด รัช en {module_name} | เปิดใช้งานโมดูลใด ๆ ทั้งแบบกำหนดเองหรือ contrib หรือ core |
drush pmu {module_name} | ปิดการใช้งานและถอนการติดตั้งโมดูลใด ๆ |
drush pm: รายการ | แสดงรายการโมดูลทั้งหมดที่มีแพ็กเกจ ชื่อโมดูล เวอร์ชันและสถานะ |
drush updb | ในการอัพเดทฐานข้อมูลหลังจากอัพเกรด |
สุนัขเฝ้าบ้าน:list(ws) | แสดงรายการข้อความเฝ้าระวังทั้งหมด |
สุนัขเฝ้าบ้าน:หาง(wt) | ข้อความเฝ้าระวังหางอย่างต่อเนื่อง |
สุนัขเฝ้าบ้าน:หาง --type=php | ข้อความเฝ้าระวังหางต่อเนื่องที่มีประเภทความรุนแรงโดยเฉพาะ |
คำสั่ง Drush ที่ยอดเยี่ยมอีกสองสามคำ
สถานะมึนงง | ให้ภาพรวมของการติดตั้ง Drupal ปัจจุบัน |
drush สร้าง | เช่นเดียวกับ Drupal Console คำสั่ง drush create ช่วยในการสร้างเอนทิตี ปลั๊กอิน และอื่นๆ |
drush pm: ความปลอดภัย | เพื่อตรวจสอบแพ็คเกจผู้แต่ง Drupal สำหรับการอัพเดทความปลอดภัย |
drush migrate:สถานะ | แสดงรายการการย้ายทั้งหมดที่มีสถานะปัจจุบัน |
ผู้ใช้ drush:รหัสผ่าน {ชื่อผู้ใช้} {รหัสผ่าน} | ตั้งรหัสผ่านผู้ใช้ |
ผู้ใช้ drush:block | ช่วยบล็อคผู้ใช้ |
ผู้ใช้ drush:role:add | ช่วยเพิ่มบทบาทของผู้ใช้ |
drush sql-dump | ส่งออกฐานข้อมูล Drupal เป็น SQL โดยใช้ mysqldump หรือเทียบเท่า |