โดยทั่วไปใช้อักษรตัวพิมพ์ใหญ่ในชื่อเครื่องโมดูลไม่ได้สร้างปัญหา: PHP ไม่ได้ทำให้ความแตกต่างระหว่างmyModule_get_value()
และmymodule_get_value()
และ$value = myModule_get_value()
จะเรียกอย่างใดอย่างหนึ่งหรือmyModule_get_value()
แม้ว่าจะมีกรณีที่ใช้อักขระตัวพิมพ์ใหญ่ในชื่อเครื่องโมดูลจะทำให้เกิดปัญหา: เมื่อกำหนด hooks การปรับปรุงสำหรับโมดูล ฟังก์ชั่นที่ส่งคืนรายการของการปรับปรุงที่มีอยู่มีรหัสต่อไปนี้mymodule_get_value()
drupal_get_schema_versions()
// Prepare regular expression to match all possible defined hook_update_N().
$regexp = '/^(?P<module>.+)_update_(?P<version>\d+)$/';
$functions = get_defined_functions();
// Narrow this down to functions ending with an integer, since all
// hook_update_N() functions end this way, and there are other
// possible functions which match '_update_'. We use preg_grep() here
// instead of foreaching through all defined functions, since the loop
// through all PHP functions can take significant page execution time
// and this function is called on every administrative page via
// system_requirements().
foreach (preg_grep('/_\d+$/', $functions['user']) as $function) {
// If this function is a module update function, add it to the list of
// module updates.
if (preg_match($regexp, $function, $matches)) {
$updates[$matches['module']][] = $matches['version'];
}
}
บรรทัดสุดท้ายที่ดำเนินการจากdrupal_get_schema_versions()
นั้นคือบรรทัดต่อไปนี้
return empty($updates[$module]) ? FALSE : $updates[$module];
หากชื่อโมดูลคือ myModule.module drupal_get_schema_versions('myModule')
จะส่งคืนเฉพาะฟังก์ชันที่มีชื่อที่ขึ้นต้นด้วย myModule_update และลงท้ายด้วยตัวเลข ฟังก์ชั่นเช่นmymodule_update_7120()
นี้จะไม่ถูกรวมไว้เนื่องจากนิพจน์ทั่วไปที่ใช้จากตัวdrupal_get_schema_versions()
พิมพ์เล็กและใหญ่ สิ่งนี้ยังใช้กับ Drupal 8 เนื่องจากการแสดงออกปกติยังคงเหมือนเดิมที่ใช้ใน Drupal 7