Описание тега php-extension
Язык
- Оберните собственную библиотеку, которая обычно написана на C или C++.
- Реализуйте код PHP на языке, который предлагает больше возможностей оптимизации, например C, чтобы страницы могли обслуживаться быстрее и / или одновременно обслуживалось больше страниц.
- Классы реализации / функций, которые, будучи ближе к ядру PHP, могут делать вещи, которые в противном случае были бы невозможны (например, динамически добавлять / удалять функции из таблицы функций, обходить
open_basedir
).
PHP написан на C и имеет API C, доступный для расширений, поэтому они обычно пишутся на этом языке. Однако единственное требование состоит в том, чтобы получившееся расширение могло взаимодействовать с API PHP, обрабатывать свои структуры данных и могло быть загружено с помощью механизма загрузки расширений PHP.
Особый тип расширений, расширения Zend, более тесно связан с PHP и снабжен большим количеством хуков, чтобы они могли более широко изменять поведение PHP. Обычно они используются для реализации отладчиков (например,
К сожалению, официальной и актуальной справки о том, как писать расширения PHP, нет. Однако см.