KPHP는 PHP 컴파일러입니다. 이는 PHP의 제한된 하위 집합을 PHP보다 빠르게 실행되는 기본 바이너리로 컴파일합니다.
KPHP는 VK.com에서 개발되었으며 2020년 말에 오픈 소스로 공개될 때까지 수년간 독점 상태로 유지되었습니다.
문서, 데모 등이 있는 KPHP 웹사이트를 방문하세요.
KPHP는 임의의 PHP 코드를 컴파일하지 않습니다.
이름 호출이나 모의 등 컴파일할 수 없는 기능은 지원하지 않습니다.
예를 들어 배열에서 숫자와 개체를 혼합하는 등 유형 시스템을 깨뜨리는 코드를 컴파일하지 않습니다.
SPL 클래스 및 XML 구문 분석과 같이 VK.com에서는 필요하지 않았던 PHP 기능이 없습니다.
생성기 및 익명 클래스와 같은 일부 PHP 구문 세부 정보는 구현되지 않았습니다.
이에 대한 자세한 내용은 KPHP와 PHP의 차이점을 참조하세요.
KPHP는 코드를 전체적으로 분석하고 성능과 안전에 중점을 두고 다양한 최적화를 수행합니다.
모든 변수의 유형을 추론하고 C++에서 선언하는 방법입니다.
게터 인라인 또는 참조 카운터 플래핑 감소와 같은 컴파일 시간 최적화.
불변성 및 유형 시스템 요구 사항을 포함한 컴파일 시간 검사.
사전 초기화 및 형식화된 벡터와 같은 상수 배열과 같은 런타임 최적화.
위 내용 외에도 KPHP에는 코루틴이 있습니다. 그러나 현재로서는 VK 코드 외부에서는 거의 적용할 수 없습니다.
일반적으로 코드가 모범 사례에 적합하면 PHP보다 3~10배 빠르게 실행됩니다.
KPHP와 PHP 성능을 비교하는 벤치마크 페이지 를 살펴보세요.
PHP vs KPHP vs C++ 를 참조할 수도 있습니다.
KPHP가 항상 PHP보다 빠르지는 않지만, 엄격한 타이핑과 KPHP 내장 기능에 중점을 두어 코드 속도를 높이는 데 사용할 수 있습니다.
이런 상황은 매우 흔합니다. KPHP는 이미 존재하는 코드를 오류 없이 컴파일하는 경우가 거의 없습니다. KPHP로 컴파일할 수 있도록 PHP 코드를 다시 작성하는 데 일반적으로 시간이 걸립니다.
기존 프로젝트를 컴파일할 때 이에 대한 자세한 내용을 읽어보세요.
KPHP는 VK.com(V Kontakte LLC)을 대신하여 GPLv3 라이센스에 따라 배포됩니다.
KPHP 커뮤니티와 소통하려면 GitHub 문제 또는 Telegram 채팅을 사용하십시오.
FAQ 페이지와 로드맵 페이지를 살펴보실 수도 있습니다.
기여 페이지를 참고해주세요.
설치 페이지로 이동하여 왼쪽 메뉴를 따라가시면 됩니다.