kphp
kphp copied to clipboard
KPHP — a PHP compiler
They're not so useful in the server mode (arguably) but are quite handy in CLI mode. I wouldn't forbid their use in either of the modes (server/cli), this issue is...
in php `null` can be passed as callback to perform zip operation ```php var_dump(array_map(null, [1, 2, 3])); // [1, 2, 3] // in kphp: Argument 'callback' should be function pointer,...
Adding this snippet to every real-world library is tiresome: ``` #ifndef KPHP define('kphp', 0); if (false) #endif define('kphp', 1); ``` Perhaps we can do better? What about this pattern? ```php...
Цель изменения: если получаем шаблонный тип T , то все его использования должны подставиться на тип реализации шаблона. Это ускорит исполнение работы с коллекциями целевого типа, а не интерфейсного при...
PHPStorm 2021.1 [introduces](https://www.jetbrains.com/ru-ru/phpstorm/whatsnew/#array-shapes) support for the `array{key: value}` syntax for shapes and tuples, I would like to support this syntax for unification.
## Minimal example ```php class B { public function __toString(): void { echo 1; } } echo new B(); ``` ## Expected Сompile-time error about using the result of a...
RFC: https://wiki.php.net/rfc/noreturn_type The `never` type is used as the return type of a function that always throws exceptions or interrupts the flow of execution with `exit`/`die`. ```php function redirect(string $uri):...
Minimal example: ```php
RFC: https://wiki.php.net/rfc/final_class_const In the current implementation, we are allowed to override constants in both classes and interfaces, although in PHP 7.4 it is forbidden to override constants in interfaces. PHP...
RFC: https://wiki.php.net/rfc/namespaced_names_as_token KPHP already interprets namespace names as a single token, like PHP 8. The only change here is that now keywords after the `namespace ` will not be converted...