The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "PHP" / Оглавление документа
Учебник РНР
Назад Глава 32. Исходные Ресурсы. Обсуждение. Вперёд

Создание get_module()

Это специальная функция для всех динамически загружаемых модулей. Посмотрим сначала на создание через макрос ZEND_GET_MODULE:
#if COMPILE_DL_FIRSTMOD
ZEND_GET_MODULE(firstmod)
#endif

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

get_module() вызывается Zend во время загрузки модуля. Вы можете представлять её как вызываемую с помощью вызова dl() в вашем скрипте. Её назначение в том, чтобы передать блок информации модуля обратно Zend, чтобы информировать машину о содержимом модуля.

Если вы не реализуете функцию get_module() в вашем динамически загружаемом модуле, Zend выдаст вам сообщение об ошибке при попытке доступа к ней.


Назад Оглавление Вперёд
Объявление блока Zend-модуля Вверх Реализация всех импортируемых функций



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру