KPHP — компилятор PHP. Он компилирует ограниченное подмножество PHP в собственный двоичный файл, работающий быстрее, чем PHP.
KPHP был разработан на VK.com и сохранялся как собственность в течение многих лет — до тех пор, пока в конце 2020 года его исходный код не был открыт с открытым исходным кодом.
Посетите веб-сайт KPHP с документацией, демонстрациями и т. д.
KPHP не будет компилировать случайный PHP-код:
Он не поддерживает функции, которые невозможно скомпилировать, например вызов по имени или макеты.
Он не будет компилировать код, который нарушает систему типов, например, смешивая числа и объекты в массиве.
В нем нет функций PHP, которые никогда не были нужны ВКонтакте, таких как классы SPL и анализ XML.
Некоторые детали синтаксиса PHP просто не были реализованы, например, генераторы и анонимные классы.
Подробнее об этом читайте здесь: Различия KPHP и PHP.
KPHP анализирует ваш код в целом и выполняет различные оптимизации с упором на производительность и безопасность:
Определение типов всех переменных и их объявление в C++.
Оптимизация времени компиляции, такая как встраивание геттеров или уменьшение колебаний счетчиков ссылок.
Проверки во время компиляции, включая неизменяемость и требования к системе типов.
Оптимизация во время выполнения, например, предварительная инициализация массивов констант и типизированные векторы.
Помимо вышесказанного, в KPHP есть сопрограммы. Однако пока они практически неприменимы вне кода ВК.
Как правило, если ваш код соответствует лучшим практикам, он работает в 3–10 раз быстрее, чем PHP .
Взгляните на страницу тестов, сравнивающую производительность KPHP и PHP.
Вы также можете обратиться к PHP, KPHP и C++ .
KPHP не всегда быстрее PHP, но его можно использовать для ускорения вашего кода, сосредоточив внимание на строгой типизации и встроенных функциях KPHP.
Такая ситуация довольно распространена. KPHP редко компилирует уже существующий код без ошибок. Обычно требуется некоторое время, чтобы переписать PHP-код, чтобы его можно было скомпилировать с помощью KPHP.
Подробнее об этом читайте в составлении существующего проекта.
KPHP распространяется по лицензии GPLv3 от имени VK.com (ООО «В Контакте»).
Для общения с сообществом KPHP используйте выпуски GitHub или чат Telegram.
Вы также можете просмотреть нашу страницу часто задаваемых вопросов и страницу дорожной карты.
Пожалуйста, обратитесь к странице «Вклад».
Перейдите на страницу установки и просто следуйте левому меню.