Ray.Aop
Ray.Aop copied to clipboard
An aspect-oriented framework for PHP
Added: `AllPublicMethods` attribute when used as class attribute it takes all public methods to intercept except `__constructor`
This request solves 2 problems First, prevent unlimited generation of temporary class files. Ensure that one source code file corresponds to one generated file. Secondly, 1 bug was solved. When...
* Remove nikic/php-parser * Motivated by increasing speed and reducing dependence * Not easy job ## 独自のcodegen実装が困難な理由 nikic/php-parserを使わないで独自のcodegenでオリジナルのコードを変更するのは困難です。以下がその理由。 * リフレクションだけでは必要な情報が集められない。例えばuseが取得できない。 * token_get_allで得られるtokenでは内容の改変が困難。 * 親クラスのクラスのメソッドも取得して1つののコードにする必要あるが、親クラスの必要な情報だけをtokenからだけ取得するのは非常に困難。 ## 解決策 * token_get_allで得られるtokenとリフレクションのハイブリッドで行う * classの宣言まではtokenとその改変で行う...
### 🎉 It's been over 10 years since the [initial release](https://github.com/ray-di/Ray.Aop/tree/1.0.0) of Ray.Aop. Initially released as a proxy, it later evolved to use the [PHP-Parser](https://github.com/nikic/PHP-Parser) for a codegen approach, providing...