KPHP é um compilador PHP. Ele compila um subconjunto limitado de PHP em um binário nativo rodando mais rápido que o PHP.
O KPHP foi desenvolvido em VK.com e mantido como proprietário por anos – até o código aberto no final de 2020.
Visite o site do KPHP com documentação, demonstrações, etc.
O KPHP não compilaria qualquer código PHP aleatório:
Ele não oferece suporte a recursos que não podem ser compilados, como chamadas por nome ou simulações.
Não compila código que quebra o sistema de tipos, por exemplo, misturando números e objetos em um array.
Ele não possui recursos PHP que o VK.com nunca precisou, como classes SPL e análise XML.
Alguns detalhes da sintaxe do PHP simplesmente não foram implementados, como geradores e classes anônimas.
Leia mais sobre isso aqui: Diferenças entre KPHP e PHP.
O KPHP analisa seu código como um todo e realiza diversas otimizações com foco em desempenho e segurança:
Inferindo tipos de todas as variáveis, como declará-las em C++.
Otimizações em tempo de compilação, como inlining getters ou redução de oscilações de refcounters.
Verificações em tempo de compilação, incluindo imutabilidade e requisitos de sistema de tipo.
Otimizações de tempo de execução, como pré-inicialização de matrizes constantes e vetores digitados.
Além do acima exposto, o KPHP possui corrotinas. Por enquanto, porém, eles são quase inaplicáveis fora do código VK.
Geralmente, quando seu código se enquadra nas práticas recomendadas, ele é executado de 3 a 10 vezes mais rápido que o PHP .
Dê uma olhada na página de benchmarks comparando o desempenho do KPHP e do PHP.
Você também pode consultar PHP vs KPHP vs C++ .
O KPHP nem sempre é mais rápido que o PHP, mas pode ser usado para acelerar seu código, concentrando-se na digitação estrita e nas funções integradas do KPHP.
Esta situação é bastante comum. O KPHP raramente compila código já existente sem erros. Geralmente leva algum tempo para reescrever o código PHP para que ele seja compilável com o KPHP.
Leia mais sobre isso ao compilar um projeto existente.
KPHP é distribuído sob a licença GPLv3, em nome de VK.com (V Kontakte LLC).
Para se comunicar com a comunidade KPHP, use os problemas do GitHub ou um bate-papo do Telegram.
Você também pode dar uma olhada em nossa página de perguntas frequentes e na página de roteiro.
Por favor, consulte a página Contribuindo.
Prossiga para a página de instalação e basta seguir o menu esquerdo.