drupal 6: включите () один раз дополнительные функции и классы, которые будут доступны на всем сайте - PullRequest
1 голос
/ 10 февраля 2011

У меня есть несколько классов и функций php, которые я хочу сделать доступными для всего сайта, куда я должен поместить include ()?я пробовал hook_init (), но потом включал его в каждый раздел (страницу, заметку) снова и снова, даже если я включил один раз ...

Ответы [ 2 ]

0 голосов
/ 11 февраля 2011

Drupal автоматически импортирует все функции, которые находятся в файле my_module.module. Это самый простой способ включить функции и классы на сайт Drupal. Так как они включены в каждую полную загрузочную версию Drupal, в идеале вы должны ограничить количество функций в файле модуля. Однако, если вы хотите, чтобы они всегда были включены, это самый простой способ.

Если вам нужен более точный контроль над включением кода, вы можете использовать функцию module_load_include () . Эта функция часто используется для загрузки кода для страниц администратора и других функций, которые имеют ограниченную область действия.

Есть несколько случаев, когда вы хотите загружать файл библиотеки при каждой загрузке страницы, в этих случаях вы можете использовать вышеуказанную функцию в хуке mymodule_init (), и файл должен быть загружен только один раз, так как функция использует require_once () вместо include ().

...