齐博x1二次开发实例分享:二次开发的灵魂fun函数
创始人
2024-04-04 08:34:03
0

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

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

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

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

fun() 函数应运而生

他的使用方法是

fun('sort@get')
双或者是
fun('sort@set',$fid)

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

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

sort.php 里边的代码大致如下

也就是说, \application\common\fun 目录下实质都是类文件,里边都是方法,通过 fun() 函数就把他们当作函数一样使用了.
这样也可以解决函数同名的问题, 也就是说不同文件的函数方法名是可以雷同的.同一个文件当然是不行的.

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

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

实例演示:

fun 函数 来个抛砖引玉 最简单的分类信息显示手机号归属地


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

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

像这样一个函数,实质就是运行了一个类的方法 , 如果不用fun函数的话, 在模板中,你要使用一个类的方法非常麻烦, 至少你需要在模板中单独写php代码use app\xx\xx\xx 把要使用的类,这样包含进来. 如果要使用多个类,这个页面就会变得非常乱.
如果你把他当作函数写在 app\xxx\common.php 里边的话, 那别的频道不好调用. 所以这些都是fun可以解决的。

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

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...