Саймон отметил новую функцию PHP (ish) __halt_compiler, которая, согласно пакету;
… Останавливает выполнение компилятора. Это может быть полезно для встраивания данных в PHP-скрипты, такие как установочные файлы. Позиция байта начала данных может быть определена константой __COMPILER_HALT_OFFSET__, которая определяется только в том случае, если в файле присутствует __halt_compiler ().
Это может быть или не быть элегантным решением (это, безусловно, относительно просто), но у него есть очень веский вариант использования — разрешить приложениям PHP, которые устанавливают себя из одного скрипта, всех связанных частей (других скриптов PHP, CSS, HTML, изображений). и т. д.) упакованный в конце скрипта в двоичном виде.
Ярким примером является fudforum Ильи — если вы скачаете последнюю версию, вы увидите, что она использует это — просто запустите скрипт install.php, и он оттуда распаковывает все. Грег упомянул и __halt_compiler некоторое время назад в связи со всем, что он делал в phar- архивах.
Во всяком случае — лично не считаю это настолько сумасшедшим. И рассмотреть возможности для обеспечения безопасности работы 😉
В противном случае заметили, что у Сара Големона есть книга по написанию расширений PHP — она очень нужна. Также связанная с этим заметка Брюс Экель опубликовал бесплатный семинар в этой серии «Мышление в» — « Мышление в Си» .