Genellikle sorunları yaratmaz modül makine adına büyük karakterleri kullanarak, konuşma: PHP arasındaki farkları yapmaz myModule_get_value()
ve mymodule_get_value()
ve $value = myModule_get_value()
ya çağırır myModule_get_value()
veya mymodule_get_value()
.
Bununla birlikte, bir modül makine adında büyük harfli karakterlerin kullanılmasının sorunlara neden olacağı bir durum vardır: bir modül için güncelleme kancalarını tanımlarken. drupal_get_schema_versions()
kullanılabilir güncelleştirmelerin listesini döndüren işlev aşağıdaki kodu içerir.
// 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'];
}
}
En son yürütülen satır drupal_get_schema_versions()
aşağıdaki satırdır .
return empty($updates[$module]) ? FALSE : $updates[$module];
Modül adı myModule.module ise, drupal_get_schema_versions('myModule')
yalnızca myModule_update ile başlayan ve bir sayı ile biten işlevleri döndürür; mymodule_update_7120()
kullanılan normal ifade drupal_get_schema_versions()
büyük / küçük harfe duyarlı olduğu için gibi işlevler dahil edilmez . Düzenli ifade hala Drupal 7'de kullanılanla aynı olduğundan, bu durum Drupal 8 için de geçerlidir.