Новые книги

Черный PR сегодня активно перемещается в Интернет. В свое время кольт сделал людей равными. Сегодня Интернет уравнял финансово сильных и слабых в медиапространстве. Глобальная сеть позволяет рядовому человеку разорить могущественную корпорацию. Маленькая компания может эффективно противостоять транснациональному монстру, не располагая никакими финансами. Умение отражать информационные атаки стало на редкость насущной проблемой для любого бизнеса.

В этой книге показаны все необходимые для отражения информационного нападения в Интернет инструменты и раскрыты секреты их применения.
Книга развивает идеи, изложенные автором в статье, опубликованной в «Harvard Business Review» и получившей престижную премию компании McKinsey за прикладной характер и новаторское мышление в сфере бизнеса и управления. Джон Коттер призывает организации к созданию комбинированной системы управления, сочетающей проверенную временем, надежную и эффективную иерархическую организационную структуру с гибкой и динамичной сетевой структурой, схожей с устройством начинающей компании (стартапа). По мнению автора, комбинированная система управления предоставляет крупным, зрелым компаниям ключевой инструмент для того, чтобы соответствовать требованиям быстро меняющейся среды.

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

Создание get_module

Учебник РНР
НазадГлава 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-модуля ВверхРеализация всех импортируемых функций