最近在进行代码分析时,看到了一个对kohana框架进行改造后的框架,其中的过程就不在复述了,就是遇到了一个类动态加载的问题,在他的框架中有很多没有在文件中声明的类,但是却能够正常应用,这个之前没有仔细的研究过,最后发现他框架的主体结构中通过调用spl_autoload_register 注册了一个自动加载方法,他在这个方法中通过eval函数执行对应的string 从而形成对应的类,类似于 "class ".$temp." extends ".$temp."_base{}"形式,这种方式有一定的好处能够通过base类进行更多的扩展,所有的基类方法能够进行更多额扩展,但是这种方式出来的类,都无法进行再次扩展,与基类没有任何区别。
如何获取一个未在php中定义的类
最新推荐文章于 2021-03-09 17:56:01 发布