Персиковый пирог
Оригинальный автор(ы) | iolevel |
---|---|
Разработчик(и) | Фонд .NET |
Первоначальный выпуск | 18 июля 2016 г [1] | .:
Репозиторий | |
Написано в | С# [2] |
Лицензия | Апач 2.0 [3] |
Веб-сайт | www |
PeachPie — это компилятор языка PHP с открытым исходным кодом и среда выполнения для .NET Framework и .NET . Он построен на основе платформы компилятора Microsoft Roslyn первого поколения и основан на проекте Phalanger . PeachPie компилирует исходный код, написанный на PHP, в байт-код CIL . PeachPie использует компонент JIT- компилятора .NET Framework для обработки начала процесса компиляции. Его цель — не генерировать или оптимизировать собственный код , а скорее компилировать сценарии PHP в сборки .NET, содержащие код CIL и метаданные. В июле 2017 года проект стал членом .NET Foundation . [4]
Происхождение
[ редактировать ]Архитектура PeachPie похожа на проект Phalanger . [5] Первоначально это началось как курсовая работа в Карловом университете в Праге , Чехия . [6] [7] Он был реализован на платформе компилятора .NET Microsoft под названием Roslyn с использованием Roslyn API . чешская компания iolevel . С 2016 года разработку PeachPie возглавляет [ нужна ссылка ]
PeachPie имеет несколько преимуществ перед Phalanger, как благодаря Roslyn API, так и переработанной архитектуре компилятора. В то время как Phalanger мог ориентироваться только на полную версию .NET Framework , которая работала только в Windows , а кроссплатформенные возможности были достигнуты за счет ориентации на Mono , PeachPie также допускает компиляцию в .NET , таким образом являясь кроссплатформенным по умолчанию. [8] Опубликованные на сегодняшний день тесты указывают на улучшение производительности PeachPie по сравнению с его предшественником. [9] [10] [11] Проект содержит расширенный семантический анализ , который позволяет компилятору генерировать C#-подобные символы для расширенных возможностей взаимодействия . Есть сходство между PeachPie и Facebook от компилятором HHVM , который выполняет PHP на специально разработанной виртуальной машине. Однако, как объявил Facebook в конце 2017 года, версия HHVM 3.24 будет последней версией, совместимой с PHP, поскольку проект будет сосредоточен исключительно на поддержке собственного расширения PHP PHP под названием Hack. [12] Таким образом, PeachPie остается единственным проектом такого рода, стремящимся быть совместимым с прошлыми и будущими версиями PHP. [ нужна ссылка ]
Проект получает значительную поддержку от Microsoft . [13] будучи приглашенным выступить на виртуальной конференции .NET Conf [14] [15] и представлен в программе Microsoft «On .NET». [16] [17] а также подкаст .NET Rocks. [18] С июля 2017 года PeachPie является членом .NET Foundation. В декабре 2018 года компания iolevel получила Европейского инновационного совета на грант Horizon2020 продолжение работы над компилятором PeachPie. [19] [20] [21]
Цели
[ редактировать ]В проекте указано несколько основных целей: [22] [23]
- Производительность : поскольку код PHP компилируется в CIL и впоследствии выполняется, а не интерпретируется, теоретически это должно привести к повышению производительности. [24] Микротесты, проведенные авторами, предполагают повышенную производительность по сравнению со стандартным PHP в отдельных случаях. [25] Тесты показали, что проект способен выполнять PHP-код на Azure примерно в два раза быстрее . [26] Используя тест открытого текста TechEmpower, было измерено, что WordPress, работающий на PeachPie, способен обслуживать 305 612 запросов в секунду. [27] тогда как стандартный PHP обслуживал 45 616 запросов в секунду. [28] PeachPie также участвует в регулярно публикуемых раундах сравнительного анализа TechEmpower. [29] [ не удалось пройти проверку ] , где по состоянию на 2019 год PeachPie работает быстрее, чем любой другой PHP-фреймворк, фигурирующий в тесте. [30] [ нужен неосновной источник ] Phalanger также продемонстрировал значительный выигрыш в производительности по сравнению с 32-битной версией PHP 5.4 для Windows. [31] [32] [33]
- Взаимодействие : проект позволяет пользователям взаимодействовать между языками PHP и .NET. В результате необычные операции, такие как внедрение лямбда-выражений C# в контекст PHP или наследование классов PHP в C#. возможны [34] Таким образом, пользователи могут использовать библиотеки PHP в своих проектах .NET и наоборот. [35]
- Дополнительная безопасность : учитывая, что PeachPie компилирует весь исходный код в один DLL-файл, приложения можно распространять без исходного исходного кода. Проект PeachPie позволяет компилировать целые PHP-приложения и платформы в стандартный формат .NET DLL и распространять их, например, в виде NuGet . пакетов [36]
- Кроссплатформенность : поскольку PeachPie может ориентироваться на .NET , который совместим с обычными .NET Framework, Xamarin и Mono и работает в Windows , MacOS и Linux , [37] он позволяет разрабатывать приложения PHP для всех устройств и операционных систем, поддерживающих .NET.
Поддерживаемые приложения
[ редактировать ]По состоянию на 2019 год официально протестированные и поддерживаемые приложения включают WordPress , [38] [7] [39] МедиаВики , [40] программное обеспечение, которое запускает страницу Википедии , и CodeIgniter . [41] Кроме того, члены сообщества открытого исходного кода подтвердили, что ряд других PHP-фреймворков и программ работают с обходными путями, например Laravel , [42] WooCommerce [43] или Мадженто . [44]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ iolevel (18 июля 2016 г.). «Предварительная версия компилятора PeachPie» . Гитхаб . Проверено 10 февраля 2017 г.
- ^ «Репозиторий PeachPie» . github.com . [иоуровень]. 10 февраля 2017 г. . Проверено 11 февраля 2017 г.
- ^ «iolevel/peachpie: Лицензия» . github.com . [иоуровень] . Проверено 11 февраля 2017 г.
- ^ Галлоуэй, Джон (25 июля 2017 г.). «Добро пожаловать, платформа компилятора Peachpie в .NET Foundation» . Фонд .NET .
- ^ Егулалп, Сердар (14 марта 2016 г.). «Компилятор Peachpie стремится перенести PHP в .Net» . Инфомир . Проверено 23 сентября 2020 г.
- ^ phpcompiler (04 мая 2011 г.), Phalanger: раскрыт компилятор PHP .NET (1/2) , получено 8 февраля 2017 г.
- ^ Перейти обратно: а б Хьюз, Мэтью (28 февраля 2017 г.). «Эта компания придумала, как запустить Wordpress в .Net» . Следующая сеть . Проверено 16 июня 2018 г.
- ^ «.NET Core Framework — кроссплатформенность с помощью .NET Framework» . msdn.microsoft.com . Проверено 11 февраля 2017 г.
- ^ де Икаса, Мигель (12 марта 2012 г.). «PHalanger Phalanger в обновлениях Mono/.NET» . tirania.org . Проверено 11 февраля 2017 г.
- ^ Адамс, Бен (11 марта 2017 г.). «Бенчмарк открытого текста персикового пирога» . Гитхаб .
- ^ «Результаты 16-го раунда — контрольные показатели TechEmpower Framework» . 06.06.2018.
- ^ Криль, Пол (20 сентября 2017 г.). «Забудьте о PHP! Вместо этого движок HHVM Facebook переключается на Hack» . Инфомир . Проверено 28 апреля 2019 г.
- ^ Миллар, Итан (11 мая 2016 г.). «Как компилятор Peachpie использует технологию разработки .Net в PHP — Учебное пособие по веб-разработке» . Учебник по веб-разработке . Проверено 16 октября 2018 г.
- ^ Microsoft Visual Studio (20 сентября 2017 г.), Запуск PHP на .NET Core с помощью Peachpie , получено 16 октября 2018 г.
- ^ Code Mantisa (18 сентября 2018 г.), S303 — расширенная совместимость C# PHP с PeachPie, автор: Якуб Мисек , получено 16 октября 2018 г.
- ^ «Бенджамин Фистейн и Якуб Мишек — компилятор PHP Peachpie для .NET» . Канал 9 . Проверено 16 октября 2018 г.
- ^ «Персиковый пирог» . Канал 9 . Проверено 16 октября 2018 г.
- ^ «.NET потрясающая! vNext» . .NET — это круто! . Проверено 16 октября 2018 г.
- ^ «Инструментарий Европейского инновационного совета для малого и среднего бизнеса, этап 1» (PDF) . ec.europa.eu . Ноябрь 2018.
- ^ «Хаб данных инструментов EIC SME» . sme.easme-web.eu . Проверено 2 февраля 2019 г.
- ^ Скупа, Адела (18 января 2019 г.). «Инновационные идеи чешских компаний будут поддержаны ЕС. Деньги пойдут на инструмент реабилитации для людей после инсульта или на инструмент PeachPie, который также оценила Microsoft» . Экономическая газета (на чешском языке) . Проверено 2 февраля 2019 г.
- ^ «Фонд .NET» . dotnetfoundation.org . Проверено 16 октября 2018 г.
- ^ Бен Якуб, Хатем (16 февраля 2017 г.). «Peachpie, компилятор PHP и среда выполнения для .NET» . Сеть журналов PHP . Проверено 16 октября 2018 г.
- ^ Егулалп, Сердар. «Компилятор Peachpie стремится перенести PHP в .Net» . Инфомир . Проверено 16 октября 2018 г.
- ^ «Эталоны – Персиковый пирог» . www.peachpie.io . Проверено 8 февраля 2017 г.
- ^ Клозе, Анн-Катрин (04 сентября 2017 г.). «Персиковый пирог: использование Wordpress в .NET через компилятор PHP» . entwicklung.de (на немецком языке) . Проверено 16 октября 2018 г.
- ^ Адамс, Бен (27 мая 2019 г.). «Эталоны персикового пирога» . Гитхаб .
- ^ «Результаты 13 тура — TechEmpower» . TechEmpower .
- ^ «Бенчмарки платформы TechEmpower» . www.techempower.com . Проверено 16 июня 2018 г.
- ^ «Бен Адамс в Твиттере» . Твиттер . Проверено 16 июня 2018 г.
- ^ «Эталоны» . v1.php-compiler.net . Архивировано из оригинала 20 января 2017 г. Проверено 12 февраля 2017 г.
- ^ «Фалангер: начинка PHP Mono, .NET — Phoronix» . www.phoronix.com . Проверено 12 февраля 2017 г.
- ^ «Фалангер от DEVSENSE» . v4.php-compiler.net . Проверено 13 февраля 2017 г.
- ^ Ваггалис, Никос (24 октября 2016 г.). «Компилятор PHP для .NET с открытым исходным кодом Peachpie» . i-programmer.info . Проверено 8 апреля 2017 г.
- ^ Пейпман, Гуннар. «Запуск PHP-приложений на .NET Core — DZone Web Dev» . dzone.com . Проверено 16 октября 2018 г.
- ^ Генсельман, Скотт. «Весь WordPress скомпилирован в .NET Core и пакет NuGet с PeachPie — Скотт Хансельман» . www.hanselman.com . Проверено 16 октября 2018 г.
- ^ Ричлендер. «Основная документация .NET» . docs.microsoft.com . Проверено 8 февраля 2017 г.
- ^ Генсельман, Скотт. «Peachpie — PHP-компилятор с открытым исходным кодом для .NET и WordPress под ASP.NET Core — Скотт Хансельман» . www.hanselman.com . Проверено 16 июня 2018 г.
- ^ «Партнерство между Mozilla и BrowserStack и обновления Symfony» . entwicklung.de (на немецком языке). 06.03.2017 . Проверено 28 апреля 2019 г.
- ^ «Настройка MediaWiki на .NET с помощью Peachpie @ PeachPie | PHP-компилятора для .NET» . www.peachpie.io . 26 февраля 2018 года . Проверено 16 июня 2018 г.
- ^ «Отчет о прогрессе производительности @ PeachPie | Компилятор PHP в .NET» . www.peachpie.io . 4 июня 2018 года . Проверено 16 июня 2018 г.
- ^ Баарт, Кэлвин (18 апреля 2019 г.), GitHub — Calvinbaart/laravel-peachpie-sample , получено 28 апреля 2019 г.
- ^ Ллевеллин, Дэни (26 апреля 2019 г.), GitHub — Didddledani/net.WordPress.plugin.woocommerce , получено 28 апреля 2019 г.
- ^ Тоби (28 августа 2018 г.), Этот проект отражает Magento 1.9.3.8 и пытается скомпилировать его через peachpie (https://www.peachpie.io/) в .net. В процессе этого потребуются некоторые исправления, называемые «основными хаками». , получено 28 апреля 2019 г.
{{citation}}
: Внешняя ссылка в
( помощь )|title=