apd_get_active_symbols (Previous) (Next) bcompiler_write_class

Last updated: Sun, 16 May 2004

II. Компилятор PHP-кода в байткод

Внимание

Этот модуль является ЭКСПЕРИМЕНТАЛЬНЫМ. Это означает, что поведение его функций, имена функций и ВСЕ остальное может быть изменено в будущем без каких-либо уведомлений. Вы можете использовать этот модуль только на свой страх и риск.

Введение

О bcompiler

Bcompiler был создан по следующим причинам:

Для того, чтобы обеспечить возможность создания платных приложений с использованием PHP
Для создания приложений на основе php-gtk, которые могли бы обходиться без интерпретатора (php.exe)
Для того, чтобы изучить возможность создания конвертора из PHP в C

Первая из этих проблем решается с помощью функций bcompiler_write_header(), bcompiler_write_class(), bcompiler_write_footer(), bcompiler_read() и bcompiler_load(). Файлы с байткодом могут быть сохранены в сжатом и обычном виде. Использование BZip2 позволяет уменьшить размер файла до одной трети. Сжатые таким образом файлы могут быть прочитаны с помощью функции bcompiler_load().

Для того, чтобы создать исполняемые (EXE) файлы, bcompiler должен использоваться с файлом, который использует PHP как динамическую библиотеку или с PHP с модифицированным SAPI. В этом случае, bcompiler ищет сжатые данные байт-кода в конце EXE-файла.

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

Говоря о защите исходного кода, можно сказать, что восстановить исходный код из байткода, который получен в результате работы bcompiler, невозможно. Поэтому попытки восстановить байткод до состояния исходников бессмысленны. Тем не менее, данные из байткода получить вполне возможно, поэтому не храните в переменных своих паролей и другой ценной информации.

Установка

Краткая инструкция по установке:

Содержание
bcompiler_write_class -- Компилирует и записывает байткод класса в файл
bcompiler_write_function -- Компилирует и записывает байткод функции в файл
bcompiler_write_constant -- Записывает константу в виде байткода
bcompiler_write_functions_from_file -- Записывает все функции, объявленные в файле, в виде байткода
bcompiler_write_header -- Записывает заголовок для bcompiler
bcompiler_write_footer -- Записывает символ \x00, который вполняет роль метки окончания байткода
bcompiler_write_exe_footer -- Записывает стартовую позицию байткода и сигнатуру в конец exe-файла
bcompiler_read -- Читает байткод и создает классы из открытого хэндла
bcompiler_load -- Читает и создает классы из сжатого файла
bcompiler_load_exe -- Читает и создает классы из exe-файла
bcompiler_parse_class -- Читает байткод клааса и вызывает указанную пользователем функцию
apd_get_active_symbols (Previous) (Next) bcompiler_write_class

Download Documentation Last updated: Sun, 16 May 2004
Hosting
HIVE: All information for read only. Please respect copyright!
Hosted by hive йца: йХЕБЯЙЮЪ ЦНПНДЯЙЮЪ АХАКХНРЕЙЮ