Делаем Python из PHP

Вы когда-нибудь пытались перевести сайт на Python, но за неимением навыков у Вас не получалось? Тогда мой рассказ про инструмент преобразования PHP-файлов для Вас и я думаю, что он пригодится любому мало-мальски знающему программисту.
php2py — это php-скрипт для преобразования php в python. В качестве входных данных этот скрипт принимает XML-файл, созданный компилятором PHP под названием phc вместо php-кода. Для вебмастеров такое решение незаменимо, так как помогает создавать Python-файлы из уже готовых PHP и можно таким образом перегнать весь сайт.
Пример выполнения команд — это:
$ phc --dump-xml=ast somecode.php > out.xml
$ ./php2py.php out.xml > somecode.py
Вообще, инструмент доступен на Гитхабе свободно. Его придумал программер под ником taichino. Единственная трудность в том, что компилятор phc потерял домен, поэтому в свободном доступе его найти не так просто. Ну, для тех, кто использует поиск, может и просто.
Теперь затронем тему самого phc.
phc — это компилятор с открытым исходным кодом для PHP с поддержкой плагинов. Кроме того, его можно использовать для точной печати или обфускации PHP-кода в качестве платформы для разработки приложений, обрабатывающих скрипты PHP, или для преобразования PHP в XML и обратно, что позволяет обрабатывать PHP-скрипты с использованием инструментов XML.
Примечание: phc на некоторых платформах не поддерживается. Он компилирует некоторые программы и имеет расширенную инфраструктуру оптимизации. Однако он не предназначены для использования в производстве (особенно если нет поддержки объектов!). Он имеет отличную структуру преобразования программ, хотя, к сожалению, последний раз обновлялся для PHP 5.2 и не поддерживает более новые функции.
Печально но факт — такие разработки как phc чаще всего проходят мимо официальной аудитории.
Установка компилятора весьма проста и потребует только базовых инструментов разработчика. Может еще запросить Boost, но он лежит также в свободном доступе и найти его не составит труда.
Итак, ставим.
$ git clone https://github.com/pbiggar/phc.git
$ cd phc
$ touch src/generated/* Makefile.in configure Makefile libltdl/aclocal.m4 libltdl/Makefile.in libltdl/configure libltdl/Makefile
$ ./configure
$ make
$ make install
Для Debian-like систем может потребоваться установка дополнительных библиотек.
Поделиться:

Нет комментариев