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’ом

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

Примечания

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