runkit7

Runkit7 : For all those things you.... probably shouldn't have been doing anyway.... but surely do!


Replace, rename, and remove user defined functions, methods, and constants.
Define customized superglobal variables for general purpose use.

License: BSD License (3 Clause)

Latest releases

Version Release Download
4.0.0a6 2022-08-14 runkit7-4.0.0a6.tgz
4.0.0a5 2022-08-13 runkit7-4.0.0a5.tgz
4.0.0a3 2021-07-17 runkit7-4.0.0a3.tgz
4.0.0a2 2020-10-08 runkit7-4.0.0a2.tgz
4.0.0a1 2020-10-08 runkit7-4.0.0a1.tgz
Show all releases

Changelog

Version Message
4.0.0a6 - Fix test failures for manipulating ReflectionMethod instances in 32-bit i386 builds in php 8.2+.
4.0.0a5 - Make version of runkit7 in reflection match PECL version.
4.0.0a3 - Fix edge case copying internal functions in runkit7_function_redefine
- Avoid conflicts with other extensions that use reserved memory slots for internal function definitions.
- Fix compilation and test errors in php 8.1
- Allow using objects in global constants and class constants in php 8.1+ (https://wiki.php.net/rfc/new_in_initializers)
- Make runkit_constant_redefine fail if the constant does not already exist
- Make runkit_constant_remove/redefine fail on enum cases (support for modifying enum cases is not implemented)
4.0.0a2 - Fix build failure in PECL releases due to missing files in the 4.0.0a1 archive.
- Properly reference count references to file names in php 8.0 when copying functions
4.0.0a1 - Remove `runkit7_import()`. This had known crashes/segfaults in php 7.3+ that have not been straightforward to fix (after multiple attempts)
due to changes to PHP's internals and changes to late static binding, and offered an incomplete set of functionality.
(e.g. could not override properties)

This was also not integrated with runkit7's tracking of manipulated methods/functions/properties.
- Drop support for php 7.1. Security support for php 7.1 from php-src ended in December 2019
and runkit7 requires a lot of work to verify that changes or new features work correctly with the internals of php in all PHP versions.
- Remove disabled code, constants, and ini settings related to the sandbox feature.
Runkit7 has never supported sandboxes or runkit_lint due to changes to internals in php7 making it impractical.
- Remove runkit7_object_id() - PHP 7.2 adds spl_object_id() to do the same thing.
- Fix build failure in php 8.0-dev - this extension's support for php 8 is still incomplete and experimental.
- Add parameter default constant names to reflection (php 8 only).
Show complete changelog