Php to Zephir
Это скрипт для преобразования PHP в ZEPHIR. Он создан в депозитарии nikic/PHP-Parser
Установка.
composer require fezfez/php-to-zephir
Как использовать.
vendor/bin/php-to-zephir phpToZephir:convert myDirToConvert
Если сделать символьную ссылку - то можно вызывать php-to-zephir вот так.
php-to-zephir phpToZephir:convert myDirToConvert
Он преобразует все файлы рекурсивно в язык Zephir.
Если вы нашли ошибку, пожалуйста, сообщите об этом в новой ветке (с тестируемой PHP код, чтобы увидеть ошибки).
Фатальная ошибка :'(
Если вы обнаружите, фатальную ошибку во время преобразования, добавить --debug и определить, где фатальная ошибка произойдет. Тогда открытый вопрос!
Параметры встроенного хелпа.
Применение:
command [options] [arguments]
Options:
-h, --help Отобразить это справочное сообщение
-q, --quiet Не выводить никаких сообщений
-V, --version Показать версию приложения
--ansi Форсировать вывод ANSI
--no-ansi Отключить вывод ANSI
-n, --no-interaction Не задавать интерактивный вопрос
-v|vv|vvv, --verbose Увеличить количество сообщений: 1 для нормального вывода, 2 для более подробного вывода и 3 для отладки
Доступные команды:
help Displays help for a command
list Выводит список команд
phpToZephir:convert Преобразование php-файла или каталога в Zephir
Есть альтернативное решение поновее.
Преобразует файлы PHP 7 в файлы Zephir zep и может создавать файлы прототипов Zephir внешних используемых библиотек.
Требования
PHP >= 7.1
Установка
$ composer require --dev sandrokeil/php-to-zephir:dev-master
Использование
Чтобы создать файлы Zephir zep из ваших PHP-файлов, запустите:
$ bin/php2zephir php2zephir:zep:create [источник path/file] [назначение path/file]
Для создания прототипов Zephir для внешних библиотек запустите:
$ bin/php2zephir php2zephir:prototype:create [источник path/file] [назначение file prototype.php]
Создать PHAR
Файл PHAR может быть создан с помощью box.
$ php box.phar compile
Модульные тесты.
$ docker-compose run --rm php vendor/bin/phpunit
Zephir Docker Image
Если вы хотите скомпилировать свои файлы Zephir zep для изображений PHP Alpine 3.8 Docker, попробуйте мой Zephir Docker images.
Ограничения
- Не может обрабатывать зарезервированные имена переменных, такие как
$resource
, это приведет к ошибке компиляции