日期:2014-05-17  浏览次数:20499 次

禁止thinkphp编译执行的日志
      从周一开始认真研究thinkphp,并打算在基于thinkphp框架的博客系统thinksns中禁止tp的编译执行,以便调试代码。通常禁不禁只要在配置文件中修改,但找了下,没发现与config相关的文件,于是决定手动修改代码。
      首先从入口文件开始,逐步深入到核心文件,编译机制一般是把各个需要用到的核心文件放入一个文件中,减少io消耗。  于是把注意力集中到compile这个函数中,将所有的compile注释掉之后,还是有编译执行,于是走上漫漫调试路,中途有一些bug修改,又犹豫着是否要这样调试,一直到今天周四,又将注意力集中到file_put_contents函数中,因为这才是编译中最核心的函数,找到所有带有这函数的文件,终于改了过来。
       经此折腾,本来成就感挺高的。突然让我看见一个叫convention的文件,进去一看,是tp的惯例配置文件,里面有一个就有个是否编译的按钮,一试,正是我想要的结果,我个悲催的哇。

总结经验:
               1,粗心了,如果选择某种思路,只要中途没有意识到明显的错误,就彻底的执行下去,不要中途又改变思路,也许机会就出现在下一刻

               2 ,抓住最核心的函数,并发挥全文查找的功能,一步步排除

               3,  一般成名的框架,不会写的很乱,多注意配置文件,配置文件不一定只有一个,从这次可以看出,平台的config文件定义的选项太少,比如调试,cookie等选项都没有,因此应该会有其他的默认配置。