A transparent AOP library for PHP.
PHP-Mimic is a transparent AOP (Aspect-Oriented Programming) framework that intercepts class loading at the stream level. It reshapes code on-the-fly via AST (Abstract Syntax Tree) manipulation, enabling non-intrusive logic injection into any class—including final classes and methods—without modifying original source files or requiring manual proxies.
- Transparent: Works with native new, static, and instanceof calls.
- Intrusive but Safe: Capability to intercept final members and private scopes.
- Debug-First: Integrated source-mapping ensures stack traces and error reports point back to original file paths and line numbers.
- Zero Eval: No eval() is used. All code is processed via custom stream wrappers and the Zend OPcache.
composer require wheakerd/php-mimicRegister the aop:// protocol and hijack the autoloader.
$mimic = new MimicFactory();
$mimic->register(
[
TestCaseService::class => $composerLoader->findFile(TestCaseService::class),
],
)->intercept([TestCaseService::class, 'handle'], function (ProceedingJoinPoint $point) {
var_dump('Print return value:' . $point->proceed());
return 999;
});
// Direct your autoloader to use the aop:// prefixBSD 3-Clause License (New or Revised)