You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This was temporarily disabled because it depended on redefining properties of objects (instances), which was impractical in php 7.0+.
However, importing classes and functions which don't already exist should be possible. The code hasn't yet been ported to compile with the php 7.0 data structures and APIs, and may have to be restored from git.
If RUNKIT_IMPORT_OVERRIDE is enabled, then when combined with the below flags:
RUNKIT_IMPORT_CLASS_PROPS - Likely not possible if instances already exist. (By extension, RUNKIT_IMPORT_CLASSES isn't possible)
RUNKIT_IMPORT_CLASS_STATIC_PROPS - Have to investigate how the PHP interpreter handles accesses to static properties --- It's similar to instance properties. The property names are converted to indices, and C code knowing the index can quickly access those properties(for internal functions).
If RUNKIT_IMPORT_OVERRIDE is disabled, then any of the other flags can probably be used
But in the case with no overrides, one may be able to do something similar using PHP-Parser and php-ast to extract only the top-level class/function definitions.
I builded up with the current branch of work-on-runkit_import, but got a warning when I run a php script in console:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/runkit.so' - /usr/lib64/php/modules/runkit.so: undefined symbol: php_runkit_def_prop_add_int in Unknown on line 0
This branch has been merged to master, open new issues for any bugs or requests for support for different flags. undefined symbol: php_runkit_def_prop_add_int was fixed.
Property manipulation is unsupported, even for classes that didn't previously exist. If the class is brand new, it should be easier to support in future runkit releases.
This was temporarily disabled because it depended on redefining properties of objects (instances), which was impractical in php 7.0+.
However, importing classes and functions which don't already exist should be possible. The code hasn't yet been ported to compile with the php 7.0 data structures and APIs, and may have to be restored from git.
If RUNKIT_IMPORT_OVERRIDE is enabled, then when combined with the below flags:
If RUNKIT_IMPORT_OVERRIDE is disabled, then any of the other flags can probably be used
See #72
EDIT: earlier description mixed up constants.
The text was updated successfully, but these errors were encountered: