以前用过tp框架,但是从没有去研究过tp框架,这两天闲来无聊看了下tp框架是如何从index.php跳转到对应模块下的控制器和方法的。之前一直以为是通过引入的文件,然后最后访问的是模板下面的控制器和方法,然后今天才发现原来不是这样的。
tp框架其实一直执行的是index.php,其余的是引入了文件,然后调用了其方法,实现加载模板下面的控制器其实从始至终都没有访问过魔板下面的控制器,而是通过app类去获取到你访问的控制器和方法,然后通过ReflectionClass、ReflectionMethod这两个函数去获取到相对应的模块和控制器下面的方法,这两个应该是php内置的两个接口,具体用法看链接https://www.cnblogs.com/KeenLeung/p/6041280.html,虽然我还没有很明白,但是至少知道这个东西能获取到相对应的控制器下的内容。这是遇到的第一个比较有意思的内容。
第二个比较有意思的东西。trait函数(其实不确定严格意义上来说算不算函数),http://php.net/traits(自己看解释,比较详细,我说不清楚)。 tp框架介绍的重定向包括success方法等等都是通过这个然后复制到相对应的控制器和方法下的。
第三个比较有意思的是spl_autoload_register,至于怎么用的自行百度。
虽然还是没怎么明白,但是看了一遍发现了很多以前不知道的东西,做个笔记,方便下次自己回忆。(就是个纯种菜鸟,写来只是给自己看的)