kphp icon indicating copy to clipboard operation
kphp copied to clipboard

KPHP — a PHP compiler

Results 253 kphp issues
Sort by recently updated
recently updated
newest added

This issue lists features that are nice to have but are not implemented in our FFI yet. Separate issues can be created for any of these. ## Important - [...

ffi

Right now, user can't write `#define FFI_LIB "foo.so"` (note: several spaces between the FFI_LIB and string literal). PHP does support this, so KPHP should as well. The relevant code looks...

ffi

Unlike PHP, KPHP supports static libs in FFI. Unfortunately, there are no tests for that (as we can't simply run & compare it with PHP). This feature requires some dedicated...

ffi

Most often than not, they're imprecise. This should be fixed.

ffi

These types are useful when you want to pass integer-typed value in place of the pointer. Using int64_t/int/int32_t is not good enough as `sizeof(int)` is not the same as `sizeof(void*)`...

ffi

```php if ($cdata_value) ... ``` This fails at gcc phase. We should either implement bool conversion for ffi cdata types (`$cdata_value !== null`?) or give error during the type checking...

ffi

few changes - `shuffle` returns `true` as in php - reset keys even with 1 element array ```php $x = [2 => 1]; shuffle($x); var_dump($x); // kphp master: [2 =>...

## Information - function **clone_members_from_traits** is called when trait is connected to the class - function **clone_members_from_traits** no longer checks methods for abstract - function **check_abstract_methods_for_non_abstract_class** checks that abstract methods...

RFC: https://wiki.php.net/rfc/match_expression_v2 The basis is the conversion to rvalue statements list with `switch` with strict comparisons. For `op_switch` added `is_match` flag. In PHP, a regular `switch` uses non-strict comparison, which...

PHP8