นอกจากPresentation-abstraction-controlและรูปแบบอื่น ๆที่ใช้ใน Drupal coreแล้วมีรูปแบบการออกแบบอื่น ๆ ที่ใช้ในโมดูลที่ได้รับความนิยมเช่น Views, CCK และ Features หรือไม่
นอกจากPresentation-abstraction-controlและรูปแบบอื่น ๆที่ใช้ใน Drupal coreแล้วมีรูปแบบการออกแบบอื่น ๆ ที่ใช้ในโมดูลที่ได้รับความนิยมเช่น Views, CCK และ Features หรือไม่
คำตอบ:
ที่เดียวที่จะเริ่มต้นคือด้วยตัวของมันเองและรูปแบบการสัมผัสกับ contrib - เขียนขึ้นดีโดยแลร์รี่การ์ฟิลด์ (Crell) สามารถพบได้ในบทความ Drupal Watchdog
ผู้สังเกตการณ์ผู้เข้าชมและแอบดูทอมส์
จริง ๆ แล้ว Drupal นั้นสร้างขึ้นในรูปแบบคู่ของ Observer และ Visitor แม้ว่าจะไม่ได้เรียกชื่อเหล่านั้นตามชื่อก็ตาม แต่จะเรียกพวกเขาว่า hooks
hook_node_load()
โดยhook_user_login()
นัยแล้วผู้สังเกตการณ์บนโหนดและผู้ใช้hook_form_alter()
,hook_node_view()
และอื่น ๆ ที่มีในสาระสำคัญผู้เข้าชม เนื่องจาก Drupal ไม่ได้แยกความแตกต่างระหว่างทั้งสองตะขอบางตัวจึงสามารถพิจารณาได้ทั้งสองรูปแบบ แต่หลักการก็เหมือนกันโรงงานและคำสั่ง
มีหลายรูปแบบในรูปแบบ Factory แต่พวกมันทั้งหมดต่างก็มีแนวคิดเดียวกัน: วัตถุหนึ่งไคลเอนต์ถามวัตถุอื่นโรงงานเพื่อการใช้งานที่เหมาะสมของตรรกะ แต่ไม่สนใจว่ามันคืออะไร . ขึ้นอยู่กับโรงงานที่จะตัดสินใจ พิจารณา
db_insert()
ฟังก์ชั่นบิตสำคัญที่แสดงด้านล่าง:function db_insert($table, array $options = array()) { // ... return Database::getConnection($options['target'])->insert($table, $options); }
Database::getConnection()
วิธีการเป็นโรงงานที่ส่งกลับที่เหมาะสมวัตถุการเชื่อมต่อสำหรับเว็บไซต์นี้การพึ่งพาการฉีดของแพทย์ Drupal
ใน Drupal 6 ระบบเมนูถูกเสียใจและเขียนใหม่ให้เป็นกระบวนการหลายขั้นตอน ตอนนี้เราจะใช้การเรียกกลับหน้าเดียวกันเช่นนี้:
function example_menu() { $items['node/%node/example'] = array( 'page callback' => 'example_page', 'page arguments' => array(1), // ... ); return $items; } function example_page($node) { // Do useful stuff here. }
ในการตั้งค่าใหม่นี้เราเตอร์เมนูมีความซับซ้อนมากขึ้น อย่างไรก็ตามในทางกลับกันการเรียกกลับหน้าเว็บจะได้รับโหนดซึ่งมันจะถูกส่งผ่านไปยังมันนั่นคือถูกแทรกเข้าไป ที่ให้ประโยชน์กับเรามากมาย
ไปหา Broke (r)
วิธีการหนึ่งที่พบบ่อยคือการเปลี่ยนแปลงแนวคิดของนายหน้าหรือคนกลาง ในการออกแบบนี้วัตถุไม่ได้ร้องขอข้อมูลจากวัตถุอื่นโดยตรง แต่จะถามวัตถุที่เป็นสื่อกลางซึ่งอาจถูกส่งเข้าไปเพื่อทำการร้องขอดังกล่าวแทน ในขณะที่มันยังหมายถึงวัตถุแรกที่มีการร้องขอข้อมูลอย่างแข็งขันมันเป็นเพียงคู่อย่างแน่นแฟ้นกับวัตถุคนกลางและไม่ให้กับวัตถุอื่น ๆ อีกมากมายที่มันอาจจำเป็นต้องขอข้อมูลจาก นั่นหมายความว่าหากระบบอื่น ๆ เหล่านั้นเปลี่ยนแปลงเราต้องอัพเดตผู้ไกล่เกลี่ยไม่ใช่ทุกระบบที่แตะต้องมัน