Score:-1

จะสร้างโมดูลตัวอย่างที่กำหนดเองได้อย่างไร?

ธง cn

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

ตัวอย่าง.info.yml

ชื่อ: ตัวอย่าง
ประเภท: โมดูล
core_version_requirement: ^8 || ^9
คำอธิบาย: 'ตัวอย่าง'

ตัวอย่าง.php

<?php
?>

สมมติว่านี่เป็นวิธีที่จะไปและไม่มีอะไรสำคัญขาดหายไป การเชื่อมต่อระหว่างสองไฟล์ทำอย่างไร (ฉันไม่ควรแจ้ง example.info.yml เกี่ยวกับ example.php)

leymannx avatar
ne flag
ขั้นต่ำเป็นเพียงไฟล์ข้อมูล
Score:-1
ธง cn

วิธีเชื่อมต่อไฟล์

Drupal จะดำเนินการไฟล์ PHP ด้วยชื่อโมดูลโดยอัตโนมัติ และนามสกุล .module; นี่เป็นกรณีพิเศษ

ดังนั้นคุณต้องเปลี่ยนชื่อ ตัวอย่าง.php ถึง ตัวอย่างโมดูล.

หากคุณต้องการเพิ่มไฟล์ PHP เพิ่มเติมที่ไม่ใช่คลาส คุณจะต้องรวมไฟล์เหล่านั้นไว้ด้วย

ตัวอย่างเช่น ถ้าฉันเพิ่มไฟล์ ตัวอย่าง.mail.phpและฉันต้องการรวมสิ่งนั้น ฉันต้องรวมไว้ใน ตัวอย่างโมดูล แบบนี้:

include_once 'example.mail.inc';

แต่ฉันไม่จำเป็นต้องรวม ตัวอย่างโมดูล เพราะเป็นกรณีพิเศษ ตัวอย่างโมดูล จะถูกดำเนินการเสมอหากมีอยู่

รวมการยืนยัน example.module

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

หากคุณเปิดใช้งานโมดูล Devel ให้เพิ่มรหัสต่อไปนี้ ตัวอย่าง.phpแล้ว สร้างแคชใหม่Drupal จะใช้ kint เพื่อพิมพ์ ID ของแบบฟอร์มในทุกหน้าที่มีแบบฟอร์ม

ฟังก์ชัน example_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  kint($form_id);
}
Kevin avatar
in flag
คุณจะไม่รวมหรือต้องการคำสั่ง พวกเขาจะเป็นคลาส/บริการที่เรียกได้หรือฉีดได้ทุกที่ภายใน Drupal ชื่อไฟล์สำหรับ hooks ควรลงท้ายด้วย .module
cn flag
@Kevin Whoops ข้อดีเกี่ยวกับชื่อไฟล์ โดยส่วนตัวแล้วฉันใช้ include เพื่อแยกตะขอประเภทต่างๆ ออกจากกัน ฉันได้เพิ่มบันทึกย่อเพื่อให้ชัดเจนยิ่งขึ้น
4uk4 avatar
cn flag
ในไฟล์ Drupal 8/9 PHP อยู่ในไดเร็กทอรี src/ ซึ่งถูกค้นพบโดย [autoloader](https://www.drupal.org/docs/develop/standards/psr-4-namespaces-and-autoloading-in -drupal-8). มีไฟล์ PHP เฉพาะบางไฟล์ที่ Drupal รวมการข้ามตัวโหลดอัตโนมัติเช่นไฟล์ .module นี้

โพสต์คำตอบ

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