Phalanger

Phalanger
Тип компилятор
Написана на C#
Последняя версия
Репозиторий github.com/devsense/phal…
Лицензия лицензия Apache

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, главной целью проекта является возможность запуска существующих PHP-скриптов с сохранением полной функциональности в среде .NET без их какого-либо изменения.

Приложения, запускающиеся под Phalanger’ом

[править | править код]

Примечания

[править | править код]