模块的控制器与视图先讲这些,再次回到“application”目录,讲解下这几个文件的作用。
“.htaccess”做访问限制的,不用修改。
“command.php”命令行工具配置文件,楠神没用过TP框架的命令行,不介绍了。
“tags.php”应用行为扩展定义文件,没用过,不做介绍。
楠神主要讲解剩下的这四个文件。
common.php文件
这是全局函数库文件,我们自定义的函数可以写在这个文件中。
不过楠神不推荐直接在这个文件写函数,为什么呢?
不符合我的风格,我不喜欢这么没有结构。
随着项目越来越大,定义的函数会越来越多,就会造成这个文件的代码达到好几千行。以后阅读起来困难,甚至不易记得都写过哪些函数了。
楠神也不愿意使用模块函数库文件,既然定义了函数,肯定是想在任何模块都能使用。
通常楠神会按照函数的某个共同点对其分类到不同的文件中,然后在common.php中用require_once引入。
根据我以往的经验,建议把函数分成这五类:
第一类:普通函数,函数不受框架的限制,复制到别地也可以使用。
第二类:拓展函数,方便TP框架使用做的拓展,离开TP框架(本程序)不能使用的函数。
第三类:SQL函数,操作数据库的函数。
第四类:缓存函数,操作缓存数据的函数。
第五类:环境函数,根据运行环境不同定义的函数体会有所不同的函数。
也许大家不明白楠神为什么这样分类,这完全是个人经验总结。大家也可以按自己的想法去分类。
我们先定义两个函数,看看是否能正常使用。
注:dump函数是TP框架的函数,楠神再次做了下改造。
在控制器方法中使用这两个函数
看结果可以正常使用e_dumps和e_dump函数。
在以后的讲解中,楠神会不断地在这几个文件中定义函数。
还有一点:定义函数时,每种分类的函数名最好加上一个前缀,防止出现重名的情况。根据前缀我们也可以迅速找到某某函数属于哪一分类。
额外说明:
还记得在public/index.php入口文件定义的一个“ENV”常量吧
假如目前的环境是线下测试开发环境,我们把它赋值为“offline”;如果是线上正式运行的环境,把它赋值为“online”。楠神定义的这个常量作用很大的,可以有效避免线上线下冲突。
是这样的。打个比方:
一个系统使用第三方接口,需要用账号(和密钥)请求他们的接口。我们在写对接程序时,对方也肯定会给我们一个测试账号(和密钥)。楠神以前都是手动修改两种账号,粗心大意的时候经常会发生,比如本地代码(测试环境)中账号是测试账号,上传到正式环境前忘记修改过来,或者误传了,这样就会造成正式环境出错。
为了不让正式账号与测试账号在频繁交换使用中弄混了,可把两个账号都写到代码中,用这个常量做个环境判断。