সাধারণভাবে বলতে গেলে, মডিউল মেশিনের নামে বড় হাতের অক্ষর ব্যবহার করে সমস্যা তৈরি হয় না: পিএইচপি myModule_get_value()
, এবং mymodule_get_value()
, এবং এর মধ্যে পার্থক্য তৈরি করে না , এবং $value = myModule_get_value()
হয় কল করবে myModule_get_value()
, বা 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];
যদি মডিউলটির নাম আমারমোডিউল.মডিউল হয় তবে মাইমডিউল_আপডেট drupal_get_schema_versions('myModule')
দিয়ে শুরু হওয়া এবং একটি সংখ্যার সাথে শেষ হবে এমন একটি নাম দিয়ে কেবল ফাংশনগুলি ফিরিয়ে দেবে; মত ফাংশন mymodule_update_7120()
অন্তর্ভুক্ত করা হবে না কারণ থেকে নিয়মিত প্রকাশটি ব্যবহৃত drupal_get_schema_versions()
হয় সংবেদনশীল। এটি এখনও দ্রুপাল 8-র ক্ষেত্রে প্রযোজ্য, কারণ নিয়মিত প্রকাশটি এখনও দ্রুপাল 7-তে ব্যবহৃত।