fun函数是什么php,二次开发的灵魂fun函数

#### X1最强大之处,体现在灵活,扩展性强,在使用过程中,你会发现灵活之处非常之多.

现在跟大家讲一下,灵魂函数 fun()

X1的核心函数文件是 `application/common.php`

随着模块频道的增加,这个文件会不断的挤大. 而用户要二次开发,肯定要增加全局函数. 如果写在这个文件的话,一升级,就会被替换,不升级的话,又不行.

面对这几个问题的困扰

**fun()** 函数应运而生

他的使用方法是

fun('sort@get')

双或者是

fun('sort@set',$fid)

其中第一项就是定义文件名与方法名, 自定义函数统一放在这个目录 `\application\common\fun`

@后面就是方法名

比如上面的情况就是 `\application\common\fun` 这个目录下面的自定义函数文件 sort.php

sort.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可以定义多个函数文件的存在, 但他存在两个弊端, 第一个就是他会预先加载,假如文件有几十,几百个的话,会全部一次加进来.这非常影响效率. 第二个是函数名不能雷同.

而 fun 函数的话,可以很好的解决这些问题.他是按需加载, 用到什么就加载什么文件 . 同时函数方法名在不同的文件中互不影响.

实例演示:

[https://x1.php168.com/bbs/show-990.html](https://x1.php168.com/bbs/show-990.html)

* * * * *

**特别提醒:**

fun函数的实质就是执行类,特别方便在模板中使用,比如

`{:fun('sort@name',$fid)}`

像这样一个函数,实质就是运行了一个类的方法 , 如果不用fun函数的话, 在模板中,你要使用一个类的方法非常麻烦, 至少你需要在模板中单独写php代码use app\xx\xx\xx 把要使用的类,这样包含进来. 如果要使用多个类,这个页面就会变得非常乱.

如果你把他当作函数写在 app\xxx\common.php 里边的话, 那别的频道不好调用. 所以这些都是fun可以解决的。

**当然如果仅仅是在PHP文件中使用,而不在模板中使用的话,他的灵活之处就不是太明显**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值