โมดูลที่กำหนดเองของ Drupal 8 – การสร้างโมดูล Drupal 8 ที่มีประสิทธิภาพด้วยแนวทางปฏิบัติที่ดีที่สุดเหล่านี้

เผยแพร่แล้ว: 2020-03-17

โมดูลแบบกำหนดเองของ Drupal 8 มีตั้งแต่แบบธรรมดาไปจนถึงแบบซับซ้อนสูง ขึ้นอยู่กับความจำเป็นในการปรับแต่ง พลังที่แท้จริงของ Drupal สามารถปลดล็อกได้ด้วยโมดูลแบบกำหนดเองใน Drupal 8 โดยไม่คำนึงถึงความซับซ้อนของโมดูลที่กำหนดเอง การปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดบางอย่างสามารถช่วยให้คุณสร้างโมดูลที่กำหนดเองได้อย่างมีประสิทธิภาพมากขึ้น เริ่มกันเลย!

เมื่อเร็ว ๆ นี้ ฉันกำลังมองหาโมดูลใน Drupal และมีบางอย่างผุดขึ้นในใจ ในโลกของ Drupal เมื่อคุณมองหาหรือพิจารณาวิธีแก้ปัญหา สิ่งแรกที่คุณอาจได้ยินคือ "มีโมดูลสำหรับสิ่งนั้น!" ในขณะที่ Drupal มีโมดูลหลักเกือบ 70 โมดูล แต่เป็นโมดูลเสริมเพิ่มเติมที่สร้างโดยชุมชน Drupal ซึ่งขยายฟังก์ชันการทำงานของแพลตฟอร์ม และด้วย Drupal 8 มีสถาปัตยกรรมที่แตกต่างอย่างสิ้นเชิงและแนวทางที่ทันสมัยสำหรับ CMS โดยเปลี่ยนไปสู่การวางแนววัตถุเพื่อปรับปรุงประสิทธิภาพโดยรวมและคุณภาพซอฟต์แวร์ การสร้าง Drupal 8 Custom Module เพื่อขยายขีดความสามารถของ Drupal เพิ่มเติมนั้นไม่เหมือนกับใน Drupal 7

drupal 8 โมดูลที่กำหนดเอง

โมดูลที่กำหนดเองใน Drupal 8 คืออะไร ทำไมต้องสร้าง?

โมดูลแบบกำหนดเองของ Drupal 8 นั้นเป็นโมดูลที่ประกอบด้วยฟังก์ชันที่ปรับแต่งได้เอง โมดูลแบบกำหนดเองของ Drupal สามารถเริ่มต้นด้วยโมดูลที่สนับสนุนซึ่งต้องการการปรับแต่งเล็กน้อยหรือโมดูล Drupal 8 ใหม่ทั้งหมดพร้อมชุดฟังก์ชันที่ไม่มีอยู่จริงชุดใหม่ที่ปรับแต่งให้เข้ากับโปรเจ็กต์ หรือบางครั้ง การโยกย้ายจาก Drupal 7 ไปเป็น Drupal 8 จะเรียกใช้โมดูลที่กำหนดเอง เนื่องจากโมดูล Drupal 7 ไม่พร้อมใช้งานใน Drupal 8 โมดูลที่กำหนดเองของ Drupal 8 นั้นถูกสร้างขึ้นมาเพื่อขยายฟังก์ชันการทำงานหลักของ Drupal ซึ่งมาด้วยตัวเอง ด้วยชุดโมดูลหลักในตัว

ไม่ว่าประสบการณ์ของคุณจะเป็นอย่างไรกับ Drupal เวอร์ชันก่อนๆ การพัฒนาโมดูลใน Drupal 8 ก็มีความท้าทายในแบบของตัวเอง เพื่อให้คุณมีความคิดที่ยุติธรรม มีความแตกต่างบางประการระหว่าง Drupal 7 และ Drupal 8 ประเด็นสำคัญคือ Drupal 8 ต้องใช้ PHP 7 เวอร์ชันล่าสุดในการทำงาน และใช้ Symphony ซึ่งเป็นเฟรมเวิร์ก PHP ที่ใช้ Object Oriented Programming อย่างไรก็ตาม แนวทางใหม่ของ Drupal 8 นั้นเป็นแนวทางแห่งอนาคต และได้เปิดประตูสู่กลุ่มนักพัฒนาที่คุ้นเคยกับแนวคิด OOP และ MVC เป็นอย่างดี

นอกจากนี้ยังมีการเปลี่ยนแปลงในวิธีการสร้างโมดูล และมีแนวทางปฏิบัติที่ดีที่สุดบางประการเพื่อให้สอดคล้องกับมาตรฐานของชุมชน ให้เราพูดถึงเรื่องนี้มากขึ้น

การเปลี่ยนแปลงในโครงสร้างไฟล์ Drupal 8

จุดสำคัญประการหนึ่งที่ต้องจำไว้คือในการพัฒนาโมดูล Drupal 8 โครงสร้างไฟล์ค่อนข้างแตกต่างจากใน Drupal 7 โมดูลที่กำหนดเองใน Drupal 8 จะถูกเก็บไว้ในไดเร็กทอรี /modules ซึ่งแตกต่างจาก Drupal 7 ที่ไดเร็กทอรีนี้สงวนไว้สำหรับแกนหลัก โมดูล โมดูลหลักของ Drupal 8 จะเข้าสู่ไดเร็กทอรี /core
ขั้นต่อไป เพื่อให้ Drupal 8 รู้ว่าโมดูลที่คุณกำหนดเองมีอยู่ คุณต้องสร้างไฟล์ . info.yml ซึ่งให้ข้อมูลเมตา กระบวนการนี้คล้ายกับกระบวนการที่ใช้กับ Drupal 7

ชื่อ - คีย์นี้คือการระบุชื่อสำหรับโมดูลที่คุณกำหนดเอง
type - คีย์นี้กำหนดประเภทของส่วนขยาย (โมดูล/ธีม/โปรไฟล์)
คำอธิบาย - คีย์นี้ให้คำอธิบายโดยละเอียดเกี่ยวกับโมดูลที่กำหนดเอง (แสดงในหน้ารายการโมดูล)
แพ็คเกจ - คีย์นี้ระบุแพ็คเกจที่ควรรวมโมดูล
รุ่น - ระบุรุ่นของโมดูล

หากไฟล์ของคุณดูเหมือน ' blogexmple_module.info.yml ' ไวยากรณ์จะเป็นดังนี้-
ชื่อ - blogexmple Module
ประเภท – โมดูล
คำอธิบาย - โมดูลสาธิตอย่างง่าย
แพ็คเกจ – Custom
รุ่น - 1.0
แกน - 8.x

การใช้การกำหนดค่าก่อนโค้ด

การต้องเขียนโค้ดใหม่ทุกครั้งที่ทำการเปลี่ยนแปลงใดๆ ถือเป็นงานที่ค่อนข้างยาก แทนที่จะฮาร์ดโค้ดคลาสลงในธีม ให้ตั้งค่าในคอนฟิกูเรชันและนำไปใช้กับโค้ด วิธีนี้ช่วยให้มั่นใจถึงวิธีการเขียนโค้ดที่ง่ายและรวดเร็วและส่งผลให้โมดูลคุณภาพสูง ด้วยโค้ดที่ใช้ซ้ำได้เป็นบรรทัดฐานในการเขียนซอฟต์แวร์ที่มีคุณภาพ การกำหนดค่าในโค้ดช่วยให้มั่นใจได้ถึงการทำงานขั้นสูงและคุณลักษณะ "ง่ายต่อการปรับเปลี่ยน"

ใช้ข้อเสนอของ Drupal

เมื่อคุณสร้างโมดูลแล้ว คุณควรรู้ว่า Drupal มาพร้อมกับฟังก์ชันผู้ดูแลระบบในตัวที่หลากหลายเพื่อจัดเก็บและแสดงข้อมูลโมดูลและการตั้งค่า หน้าการตั้งค่าโมดูลสามารถกำหนดได้ด้วย เมนูเบ็ด เบ็ดนี้ช่วยให้โมดูลลงทะเบียนเส้นทางเพื่อกำหนดวิธีจัดการคำขอ URL ด้วยการใช้การเรียกกลับของหน้า drupal_get_form สิ่งที่คุณต้องทำในฟังก์ชันการโทรกลับคือกำหนดและคืนค่าการตั้งค่าที่จะจัดเก็บ

พ่อครัวมากเกินไปทำให้น้ำซุปเสีย

หลังจากทำงานบนไซต์ Drupal ขนาดใหญ่มาเป็นเวลานาน นักพัฒนาของ Drupal จะได้เรียนรู้ว่าโมดูลหลายร้อยโมดูลสามารถทำงานร่วมกันเพื่อสร้างโปรเจ็กต์ขนาดใหญ่ที่มีประสิทธิภาพ แต่เมื่อทำงานบนเว็บไซต์ Drupal ระดับองค์กร สิ่งสำคัญที่ควรทราบคือ การหลีกเลี่ยงโมดูลที่ไม่ดีเพียงโมดูลเดียวมีผลมากกว่าการหลีกเลี่ยงโมดูล Drupal ที่ได้รับการพัฒนามาอย่างดี 30 โมดูล (ในความพยายามที่จะใช้โมดูลที่น้อยกว่า) นักพัฒนามักจะชอบการเขียนโปรแกรมโมดูลของตนเองมากกว่าการนำโมดูลที่มีอยู่มาใช้ซ้ำ ยิ่งคุณเขียนโมดูลที่กำหนดเองจำนวนมากสำหรับโครงการ ยิ่งงานมากในการดูแลและแก้ไขไซต์ Drupal ของคุณในภายหลัง ให้พิจารณาเผยแพร่โมดูลของคุณบน Github แทน วิธีนี้ช่วยให้คุณหลีกเลี่ยงการใช้คอลเลกชั่นโมดูลที่กำหนดเองจำนวนมาก และสนับสนุนให้คุณสร้างโค้ดที่นำกลับมาใช้ใหม่ได้ซึ่งมีการกำหนดค่าที่จำเป็นแทน

มาตรฐานด้านสิ่งแวดล้อมและการเข้ารหัส

สภาพแวดล้อมการพัฒนามีอิทธิพลสำคัญ เนื่องจากทำให้แน่ใจได้ว่าโปรเจ็กต์ Drupal จะทำงานโดยปราศจากความยุ่งยากใดๆ บริษัทพัฒนา Drupal รับรองว่าทีมงานทั้งหมดทำงานในสภาพแวดล้อมการพัฒนาที่เหมือนกันทุกประการเพื่อเวิร์กโฟลว์ที่มีประสิทธิภาพ

ขณะทำงานในสภาพแวดล้อมเช่นนี้ ปัญหาใหญ่ที่สุดปัญหาหนึ่งที่ต้องจัดการคือ ตรวจสอบให้แน่ใจว่าโค้ดนั้นสะอาดและบำรุงรักษาได้ นักพัฒนา Drupal จำเป็นต้องตรวจสอบให้แน่ใจว่าโค้ดของพวกเขาสามารถอ่านได้และเหมาะสมกับทุกคนที่พวกเขากำลังทำงานด้วย และสิ่งนี้ไม่ได้มีผลเฉพาะกับสมาชิกในทีมหรือใครก็ตามในองค์กรของคุณ แต่ยังรวมถึงชุมชน Drupal ที่ใหญ่กว่าด้วย ด้วยการมีส่วนร่วมของชุมชนเป็นส่วนสำคัญของการพัฒนา Drupal และเป็นส่วนสำคัญในทีมแบบกระจายที่ทำงานร่วมกันอย่างมีประสิทธิภาพ การปฏิบัติตามมาตรฐานการเขียนโค้ดจะช่วยให้บรรลุเป้าหมายและวัตถุประสงค์ของโครงการ