Phalanger | это... Что такое Phalanger? (original) (raw)

Эта статья — о программировании. О роде сумчатых семейства поссумы см. Кускусы.

Phalanger

Тип компилятор PHP
Разработчик DEVSENSE: Miloslav Beno, Jakub Misek
Написана на C#, C++
Последняя версия 3.0 (декабрь 2011)
Лицензия 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[источник не указан 1058 дней]. Согласно заявлению Microsoft, главной целью проекта является возможность запуска существующих PHP-скриптов с сохранением полной функциональности в среде .NET без их какого-либо изменения.

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

Ссылки

Просмотр этого шаблона PHP
Люди Энди ГутмансРасмус ЛердорфЗеев Сураски
Ресурсы Zend Engine • Библиотеки • PEAR • Редакторы • Акселератор
Реализации HipHopQuercus • Project Zero • PhalangerParrot
Фреймворки AppFlower • CakePHPCodeIgniterDrupal • FuelPHP • Horde • Joomla! • Lithium • Midgard • MODxQcodo • Seagull • SilverStripeSymfonyTYPO3XarayaYiiZend Framework • Zeta Components
Тестирование PHPUnit • PHP Unit Testing Framework • SimpleTest
ORM PropelDoctrine
IDE AppFlower • Eclipse PDTPhpStormNetBeansRadPHPPHP DevelStudio • PHPEdit • Zend Studio
Компилятор Phalanger
Widget toolkit wxPHP • PHP-GTKPHP-Qt
Category Категория
Просмотр этого шаблона .NET Framework
Архитектура Base Class LibraryCommon Language Infrastructure.NET assemblyметаданныеCOM Interop
Инфраструктура Common Language RuntimeCommon Type SystemCommon Intermediate Language • Virtual Execution System • Dynamic Language Runtime
Языки Microsoft C#Visual Basic .NETC++/CLI (Managed) • Visual J#JScript .NETWindows PowerShellIronPythonIronRubyF#Spec#Sing#
Другие языки A#Boo • IronLisp • L# • NemerleP#PascalABC.NETPHPScala • Delphi Prism
Windows Foundations PresentationCommunicationWorkflow
Компоненты ADO.NET (Entity Framework · Data Services) · ASP.NET (AJAX · MVC · Dynamic Data) · .NET Remoting · Language Integrated Query · Windows CardSpace · Windows Forms · XAML · ClickOnce · Dynamic Language Runtime · Parallel FX Library (PLINQ · TPL)
Реализации DotGNUMono.NET Compact Framework (Xbox 360) • .NET Micro FrameworkPortable.NETXNA FrameworkSilverlight • Shared Source Common Language Infrastructure
Сравнения C# и Java • C# и Visual Basic .NET
Будущие технологии Acropolis • Jasper