国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

齊博x1:二次開發(fā)的靈魂fun函數(shù)

2021-04-09 12:03 作者:半抹燈芯  | 我要投稿

X1最強大之處,體現(xiàn)在靈活,擴展性強,在使用過程中,你會發(fā)現(xiàn)靈活之處非常之多.

現(xiàn)在跟大家講一下,靈魂函數(shù) fun()

X1的核心函數(shù)文件是?application/common.php

隨著模塊頻道的增加,這個文件會不斷的擠大. 而用戶要二次開發(fā),肯定要增加全局函數(shù). 如果寫在這個文件的話,一升級,就會被替換,不升級的話,又不行.
面對這幾個問題的困擾

fun()?函數(shù)應(yīng)運而生

他的使用方法是

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

其中第一項就是定義文件名與方法名, 自定義函數(shù)統(tǒng)一放在這個目錄?\application\common\fun
@后面就是方法名

比如上面的情況就是?\application\common\fun?這個目錄下面的自定義函數(shù)文件 sort.php

sort.php 里邊的代碼大致如下

<?php namespace app\common\fun;class Sort{ ? ?public function get(){ ? ? ? ?return '返回不帶參數(shù)的演示'; ? } ? ?public function set($fid,$mid='100'){ ? ? ? ?return "返回fid=$fid,mid=$mid"; ? }}

也就是說,?\application\common\fun?目錄下實質(zhì)都是類文件,里邊都是方法,通過 fun() 函數(shù)就把他們當作函數(shù)一樣使用了.
這樣也可以解決函數(shù)同名的問題, 也就是說不同文件的函數(shù)方法名是可以雷同的.同一個文件當然是不行的.

雖然thinkphp可以定義多個函數(shù)文件的存在, 但他存在兩個弊端, 第一個就是他會預(yù)先加載,假如文件有幾十,幾百個的話,會全部一次加進來.這非常影響效率. 第二個是函數(shù)名不能雷同.

而 fun 函數(shù)的話,可以很好的解決這些問題.他是按需加載, 用到什么就加載什么文件 . 同時函數(shù)方法名在不同的文件中互不影響.

實例演示:

https://x1.php168.com/bbs/show-990.html

特別提醒:
fun函數(shù)的實質(zhì)就是執(zhí)行類,特別方便在模板中使用,比如

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

像這樣一個函數(shù),實質(zhì)就是運行了一個類的方法 , 如果不用fun函數(shù)的話, 在模板中,你要使用一個類的方法非常麻煩, 至少你需要在模板中單獨寫php代碼use app\xx\xx\xx 把要使用的類,這樣包含進來. 如果要使用多個類,這個頁面就會變得非常亂.
如果你把他當作函數(shù)寫在 app\xxx\common.php 里邊的話, 那別的頻道不好調(diào)用. 所以這些都是fun可以解決的。

當然如果僅僅是在PHP文件中使用,而不在模板中使用的話,他的靈活之處就不是太明顯


齊博x1:二次開發(fā)的靈魂fun函數(shù)的評論 (共 條)

分享到微博請遵守國家法律
五大连池市| 灵寿县| 达州市| 东乡| 黔东| 犍为县| 潢川县| 铁力市| 台中县| 界首市| 阆中市| 廊坊市| 开化县| 正阳县| 罗平县| 靖州| 平定县| 瑞安市| 岳阳市| 天柱县| 鲜城| 三河市| 福建省| 祁连县| 玛沁县| 天气| 辽源市| 新民市| 抚顺市| 张家口市| 铁岭市| 长治市| 宁安市| 汝州市| 仙居县| 青浦区| 玉树县| 松溪县| 日土县| 保德县| 合山市|