Nothing foreshadowed anything (s)
After 5 years of silence and lack of development, the runkit delivered a new version (even two) and, potentially, a new
maintener (
dzenovich ).
While in the official pecl-repository it is missing, but when it stopped us:
pecl install github.com/downloads/zenovich/runkit/runkit-1.0.2.tgz
The project code is located at:
github.com/zenovich/runkit .
For those who do not know,
runkit is a magic thing that allows you to change the PHP code on the fly. In addition, he can run the PHP code in a separate environment, creating a cozy "
sandbox" that does not make the "oh" main code (for this you need to build PHP with support for threads, ie --enable-maintainer-zts for configure) .
')
What's new is added:
- Creating and replacing static methods
- Import static properties
- Ability to use short circuits in the sandbox
- Full support for branch 5.3, up to 5.3.3. Uiii!
- Fixed many bugs and features
You can relate to runtime code replacement in different ways, but the presence of a tool is better than its absence. Of the applications that immediately come to mind: the replacement of moka and stubs, dot edits in the insides of libraries.
UPD: The text was supplemented and corrected, thus the legendary, and sometimes even the red banner,
dzenovich .
UPD2: PHPDaemon runkit usage
example . There is also a small description of the runkit features.