Kry*_*ska 7 php oop aop frameworks goaop
有一个名为Go的框架!面向方面的PHP框架
它是用纯PHP制作的,不需要任何PECL扩展和DI容器就可以工作.
还可以与任何现有的PHP框架和库集成(使用或不使用其他配置).
并且没有切入点的运行时检查,没有运行时注释解析,没有eval和__call方法,没有慢代理和call_user_func_array().快速引导过程(2-20ms)和建议调用.
所以我印象非常深刻,但我想知道的是,这实际上是如何运作的?
我在这里列出的这些要点......
我查看了github和官方网站以及其他一些文章,但是找不到任何关于这是如何工作的具体信息(一般情况下和具体情况).
我非常渴望知道这是如何工作的?它是如何实现的?
lis*_*nko 11
这个框架使用许多隐藏的技巧来执行它的工作,但是如果我们从鸟的视图看,那么过程可以描述如下:
Foo
从文件加载时Foo.php
,AOP将其包装到特殊的过滤器流中,如下所示:include 'php://filter/read=go.source.transforming.loader/resource=Foo.php';
.您可以在"php:// stream"手册中阅读有关此流过滤器的更多信息Foo
:它被重命名为,Foo__AopProxied
并且Foo extends Foo__AopProxied
在缓存中生成具有类的新文件.当然,它只是少量的信息,因为在纯PHP中实现AOP是非常艰巨的任务,我在发现工作解决方案之前尝试了很多次,所以挖掘源代码来发现隐藏的宝石会很有趣:)一些信息也可以在我的PhpSerbia谈论PHP中的跨领域问题,你可以观看它以便更好地理解(对不起我的英语).
我们现在正在研究框架文档,所以如果你想让它变得更好,只需将PR发送给官方文档即可.
您还应该使用PhpStorm插件,它为在PHP项目中使用AOP的开发人员提供了许多功能.