Phalanger
Phalanger | |
---|---|
Тип | компилятор PHP |
Разработчик | DEVSENSE: Miloslav Beno, Jakub Misek |
Написана на | C#, C++ |
Последняя версия | 3.0.0.4072 (март 2013) |
Лицензия | Apache v2 |
Сайт | php-compiler.net |
Phalanger — это компилятор языка PHP для .NET, представляет собой язык и реализацию стандартной библиотеки совместимой с большинством существующих PHP-приложений. Также поддерживает вызов родных PHP4 расширений, что дает возможность использовать большинство PHP-функций и классов. Phalanger, для внутренних нужд, использует ASP.NET фреймворк, но только для реализации управления HTTP запросов и ответов, сессий и куки. Рендеринг страниц всё ещё такой же как в PHP, что даёт программисту полный контроль над генерируемым кодом, а также совместимость с уже существующим кодом. Начиная с версии 2.0, Phalanger поддерживает полную функциональную совместимость с .NET. Это значит, что программист имеет доступ почти ко всем .NET-классам из PHP-приложения. Поддержка совместимости с .NET потребовала расширить язык PHP так, чтобы из него можно было работать с такими особенностями архитектуры .NET, как пространство имён, обобщенные типы. Это расширение получило имя PHP/CLR.
Благодаря полной поддержке .NET появилась возможность разрабатывать все виды .NET-приложений на языке PHP в том числе с пользовательским интерфейсом, основанным на Windows Forms, библиотеки классов и web-приложения на инфраструктуре ASP.NET.
Существует два режима компиляции: унаследованный (legacy) и чистый (pure). «Унаследованный режим» полностью совместим со стандартным PHP, однако использовать скрипты скомпилированные в этом режиме немного сложнее. Для того, чтобы сделать использование PHP объектов из C# как можно проще, был введен «чистый режим» при котором программист должен следовать нескольким дополнительным правилам (таким как указывать все исходные файлы во время компиляции вместо использования директивы include), что обеспечит способность прямого взаимодействия со средой .NET, то есть позволит использовать классы, написанные на PHP, прямо из C#.
История создания
Проект начат в Карловом университете и поддерживается Microsoft[источник не указан 5431 день]. Согласно заявлению Microsoft, главной целью проекта является возможность запуска существующих PHP-скриптов с сохранением полной функциональности в среде .NET без их какого-либо изменения.
Приложения, запускающиеся под Phalanger’ом
Ссылки
- www.php-compiler.net Архивная копия от 10 декабря 2004 на Wayback Machine
- www.codeplex.com/Phalanger