最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ù)的評論 (共 條)

分享到微博請遵守國家法律
黔江区| 长春市| 奉贤区| 天祝| 古田县| 宣武区| 布尔津县| 嵩明县| 泗水县| 晴隆县| 乌拉特前旗| 五莲县| 阳西县| 横峰县| 新宾| 沂水县| 新疆| 西峡县| 祁东县| 永登县| 西丰县| 灵丘县| 昌宁县| 交城县| 民县| 新野县| 海兴县| 磐安县| 锦州市| 正安县| 太白县| 上林县| 诸城市| 三河市| 花莲市| 抚宁县| 兰考县| 铁力市| 盐池县| 长岭县| 阿勒泰市|