现在跟大家讲一下,灵魂函数 fun()
X1的核心函数文件是 application/common.php
随着模块频道的增加,这个文件会不断的挤大. 而用户要二次开发,肯定要增加全局函数. 如果写在这个文件的话,一升级,就会被替换,不升级的话,又不行.
面对这几个问题的困扰
fun() 函数应运而生
他的使用方法是
fun('sort@get')
双或者是
fun('sort@set',$fid)
其中第一项就是定义文件名与方法名, 自定义函数统一放在这个目录 \application\common\fun
@后面就是方法名
比如上面的情况就是 \application\common\fun
这个目录下面的自定义函数文件 sort.php
sort.php 里边的代码大致如下
<?php namespace app\common\fun;class Sort{ public function get(){ return '返回不带参数的演示'; } public function set($fid,$mid='100'){ return "返回fid=$fid,mid=$mid"; } }
也就是说, \application\common\fun
目录下实质都是类文件,里边都是方法,通过 fun() 函数就把他们当作函数一样使用了.
这样也可以解决函数同名的问题, 也就是说不同文件的函数方法名是可以雷同的.同一个文件当然是不行的.
虽然thinkphp可以定义多个函数文件的存在, 但他存在两个弊端, 第一个就是他会预先加载,假如文件有几十,几百个的话,会全部一次加进来.这非常影响效率. 第二个是函数名不能雷同.
联系电话:13915792995 @何泽华 | 湘ICP备18005351号-2