Jump to content

Персиковый пирог

Персиковый пирог
Оригинальный автор(ы) iolevel
Разработчик(и) Фонд .NET
Первоначальный выпуск 18 июля 2016 г .; 8 лет назад ( 2016-07-18 ) .: [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]

См. также

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