Как два байта переслать: контрибьютим в KPHP



KPHP - компилятор для PHP. Он конвертирует PHP код в код на C++, компилируя который, ускоряет производительность в десятки раз. Это open-source проект, созданный ВКонтакте. Благодаря ему собирается огромный монолит ВКонтакте на 9 миллионов строк PHP кода в обычный бинарник, запуская который вы локально поднимаете полноценный ВКонтакте.



План

1. Подготовка



2. runtime

добавление функций

типы

флаги

изменение подключаемых библиотек



3. Тесты

cpp тесты

php тесты



4. pull_request



Подготовка

Устанавливаем kphp из репозитория



runtime



Добавление функций



В качестве примера возьмем ситуацию, когда нам нужно реализовать функцию mb_check_encoding из php. Первым делом идем в доки (*изображение)



Узнаем, что функция проверяет кодировку строки или массива строк. Массив строк обрабатывается рекурсивно, так что сфокусируемся на функции, работающей для строки.

Теперь идем в код php смотреть как работает функция в php:



📌Продолжение



@cpluspluc