Персиковый пирог - PeachPie
Оригинальный автор (ы) | iolevel |
---|---|
Разработчики) | .NET Foundation |
изначальный выпуск | 18 июля 2016 г.[1] | .:
Написано в | C #[2] |
Лицензия | Apache 2.0[3] |
Интернет сайт | www |
Персиковый пирог компилятор языка PHP с открытым исходным кодом и среда выполнения для .СЕТЬ и .NET Core рамки. Он построен на вершине Microsoft Рослин платформа компилятора и основана на первом поколении Фалангер проект. PeachPie компилирует исходный код, написанный на PHP к CIL байт-код. PeachPie использует преимущества JIT Компонент компилятора .NET Framework для обработки начала процесса компиляции. Его цель не в том, чтобы создавать или оптимизировать собственный код, а скорее для компиляции сценариев PHP в сборки .NET, содержащие код CIL и метаданные. В июле 2017 года проект стал участником .NET Foundation.[4]
Происхождение
Архитектура PeachPie похожа на Фалангер проект,[5] который изначально начинался как курсовая работа в Карлов университет в Прага, Чехия.[6][7] Он был реализован на платформе компилятора Microsoft .NET под названием Рослин, используя Roslyn API. С 2016 года чешская компания iolevel возглавляет разработку PeachPie.
PeachPie имеет несколько преимуществ перед Phalanger, как в результате использования API Roslyn, так и в результате переработанной архитектуры компилятора. Хотя Фалангер мог нацеливаться только на полную .NET Framework, который работал только на Windows, а кроссплатформенные возможности были достигнуты за счет таргетинга Мононуклеоз, PeachPie также позволяет компиляцию .NET Core, таким образом, будучи кросс-платформенный по умолчанию.[8] Опубликованные на сегодняшний день тесты указывают на улучшение производительности PeachPie по сравнению с его предшественником.[9][10][11] Проект содержит расширенный семантический анализ, что позволяет компилятору генерировать символы, подобные C #, для расширенных совместимость Особенности. Между PeachPie и Facebook с HHVM компилятор, который выполняет PHP на специально созданной виртуальной машине. Однако, как Facebook объявил в конце 2017 года, версия 3.24 HHVM будет последней версией, совместимой с PHP, поскольку проект будет сосредоточен исключительно на поддержке проприетарного расширения PHP Facebook под названием Hack.[12]. Таким образом, PeachPie остается единственным проектом такого рода, который стремится быть совместимым с прошлыми и будущими версиями PHP.
Проект получает значительную поддержку от Microsoft[13], получив приглашение выступить на виртуальной конференции .NET Conf [14][15] и фигурирует в Microsoft "On .NET"[16][17], а также подкаст .NET Rocks.[18] С июля 2017 года PeachPie является членом .NET Foundation. В декабре 2018 года iolevel получил Европейский инновационный совет с Горизонт2020 грант на продолжение работы над компилятором PeachPie.[19][20][21]
Цели
В проекте перечислено несколько основных целей:[22][23]
- Спектакль: поскольку код PHP компилируется в CIL и впоследствии выполняется, а не интерпретируется, теоретически это должно привести к повышению производительности.[24] Выполненные авторами микротесты предполагают в отдельных случаях повышенную производительность по сравнению со стандартным PHP.[25] и тесты показали, что проект может запускать PHP-код примерно в два раза быстрее на Лазурь.[26] С помощью теста открытого текста TechEmpower было измерено, что WordPress, работающий на PeachPie, может обрабатывать 305 612 запросов в секунду.[27], тогда как стандартный PHP обслуживал 45 616 запросов в секунду.[28] PeachPie также является частью регулярно публикуемых раундов тестирования TechEmpower.[29][неудачная проверка ], где по состоянию на 2019 год PeachPie работает быстрее, чем любой другой фреймворк PHP, представленный в тесте.[30][неосновной источник необходим ] Фалангер также предлагал значительные преимущества в производительности по сравнению с 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 Core, который совместим с обычной .NET Framework, Xamarin и Мононуклеоз, и работает на Windows, MacOS и Linux,[37] он позволяет разрабатывать приложения PHP для всех устройств и операционных систем, поддерживающих .NET Core.
Поддерживаемые приложения
По состоянию на 2019 год официально протестированные и поддерживаемые приложения включают WordPress[38][7][39], MediaWiki[40], программное обеспечение, которое запускает Википедия страница и CodeIgniter.[41] Кроме того, члены сообщества с открытым исходным кодом подтвердили, что ряд других фреймворков и программ PHP работают с обходными путями, например Laravel[42], WooCommerce[43] или же Magento[44].
Смотрите также
Рекомендации
- ^ iolevel (18 июля 2016 г.). "Предварительная версия компилятора PeachPie". Получено 10 февраля, 2017.
- ^ "Репозиторий PeachPie". github.com. [iolevel]. 10 февраля 2017 г.. Получено 11 февраля, 2017.
- ^ "iolevel / peachpie: License". github.com. [iolevel]. Получено 11 февраля, 2017.
- ^ Галлоуэй, Джон (2017-07-25). «Добро пожаловать на платформу компилятора Peachpie в .NET Foundation». .NET Foundation.
- ^ Егулалп, Сердар (14.03.2016). «Компилятор Peachpie стремится перенести PHP в .Net». InfoWorld. Получено 2020-09-23.
- ^ phpcompiler (04.05.2011), Phalanger: раскрыт компилятор PHP .NET (1/2), получено 2017-02-08
- ^ а б Хьюз, Мэтью (28.02.2017). «Эта компания придумала, как запустить Wordpress в .Net». Следующая Сеть. Получено 2018-06-16.
- ^ «.NET Core Framework - переходите на кроссплатформенность с .NET Framework». msdn.microsoft.com. Получено 2017-02-11.
- ^ де Икаса, Мигель (12 марта 2012 г.). "PHP Phalanger в обновлениях Mono / .NET". tirania.org. Получено 2017-02-11.
- ^ Адамс, Бен (2017-03-11). "Тест Peachpie Plaintext". Github.
- ^ «Результаты 16-го раунда - контрольные показатели TechEmpower Framework». 2018-06-06.
- ^ Криль, Пол (2017-09-20). «Забудьте о PHP! Механизм HHVM Facebook вместо этого переключается на Hack». InfoWorld. Получено 2019-04-28.
- ^ Миллар, Итан (2016-05-11). "Как компилятор Peachpie использует технологию разработки .Net в PHP - Учебное пособие по веб-разработке". Учебник по веб-разработке. Получено 2018-10-16.
- ^ Microsoft Visual Studio (20 сентября 2017 г.), Запуск PHP на .NET Core с Peachpie, получено 2018-10-16
- ^ Код Мантиса (2018-09-18), S303 - Расширенная совместимость C # PHP с PeachPie от Якуба Мисека, получено 2018-10-16
- ^ «Бенджамин Фистейн и Якуб Мишек - компилятор PHP Peachpie для .NET». Канал 9. Получено 2018-10-16.
- ^ "Персиковый пирог". Канал 9. Получено 2018-10-16.
- ^ ".NET Rocks! VNext". .NET Rocks!. Получено 2018-10-16.
- ^ «Фаза 1 инструментария малого и среднего бизнеса Европейского совета инноваций» (PDF). ec.europa.eu. Ноябрь 2018.
- ^ "Центр данных EIC SME Instrument". sme.easme-web.eu. Получено 2019-02-02.
- ^ Скупа, Адела (18 января 2019 г.). "Inovativní nápady českých firem podpoří EU. Peníze dostane rehabilitationační nástroj pro lidi po mrtvici či nástroj PeachPie, který ocenil i Microsoft". Hospodářské noviny (на чешском языке). Получено 2019-02-02.
- ^ «.NET Foundation». dotnetfoundation.org. Получено 2018-10-16.
- ^ Бен Якуб, Хатем (16.02.2017). "Peachpie, компилятор PHP и среда выполнения для .NET". Сеть журналов PHP. Получено 2018-10-16.
- ^ Егулалп, Сердар. «Компилятор Peachpie стремится перенести PHP в .Net». InfoWorld. Получено 2018-10-16.
- ^ «Ориентиры - Персиковый пирог». www.peachpie.io. Получено 2017-02-08.
- ^ Клозе, Анн-Катрин (04.09.2017). "Peachpie: Wordpress для PHP-компилятора на .NET nutzen". entwickler.de (на немецком). Получено 2018-10-16.
- ^ Адамс, Бен. "Peachpie Benchmarks". GitHub.
- ^ «Результаты 13 тура - TechEmpower». TechEmpower.
- ^ «Тесты TechEmpower Framework». www.techempower.com. Получено 2018-06-16.
- ^ "Бен Адамс в Твиттере". Twitter. Получено 2018-06-16.
- ^ «Ориентиры». v1.php-compiler.net. Получено 2017-02-12.
- ^ «Фалангер: наполнение PHP Mono, .NET - Phoronix». www.phoronix.com. Получено 2017-02-12.
- ^ "Фалангер от DEVSENSE". v4.php-compiler.net. Получено 2017-02-13.
- ^ Ваггалис, Никос (24 октября 2016 г.). "Компилятор Peachpie с открытым исходным кодом PHP для .NET". i-programmer.info. Получено 2017-04-08.
- ^ Пейпман, Гуннар. «Запуск приложений PHP на .NET Core - DZone Web Dev». dzone.com. Получено 2018-10-16.
- ^ Гензельман, Скотт. «Весь WordPress скомпилирован в .NET Core и пакет NuGet с PeachPie - Скотт Хансельман». www.hanselman.com. Получено 2018-10-16.
- ^ Ричлендер. ".NET Core Docs". docs.microsoft.com. Получено 2017-02-08.
- ^ Гензельман, Скотт. "Peachpie - PHP-компилятор с открытым исходным кодом для .NET и WordPress под ASP.NET Core - Скотт Хансельман". www.hanselman.com. Получено 2018-06-16.
- ^ "Partnerschaft zwischen Mozilla и BrowserStack & Updates для Symfony". entwickler.de (на немецком). 2017-03-06. Получено 2019-04-28.
- ^ "Настройка MediaWiki на .NET с помощью компилятора Peachpie @ PeachPie | PHP для .NET". www.peachpie.io. Получено 2018-06-16.
- ^ «Отчет о прогрессе производительности @ PeachPie | Компилятор PHP для .NET». www.peachpie.io. Получено 2018-06-16.
- ^ Баарт, Кальвин (2019-04-18), GitHub - calvinbaart / laravel-peachpie-sample, получено 2019-04-28
- ^ Ллевеллин, Дэниел (2019-04-26), GitHub - diddledan / net.WordPress.plugin.woocommerce, получено 2019-04-28
- ^ Тоби (2018-08-28), Этот проект является зеркалом Magento 1.9.3.8 и пытается скомпилировать его через peachpie (https://www.peachpie.io/) в .net. В процессе выполнения этого некоторые исправления, называемые "основными хаками", необходимы., получено 2019-04-28 Внешняя ссылка в
| название =
(помощь)