国产精品天干天干,亚洲毛片在线,日韩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ù)的評論 (共 條)

分享到微博請遵守國家法律
鄯善县| 新龙县| 揭西县| 津市市| 曲沃县| 清河县| 兴业县| 大姚县| 义乌市| 利辛县| 瓦房店市| 陇西县| 巴青县| 准格尔旗| 比如县| 邮箱| 保康县| 安阳市| 秭归县| 资兴市| 尼玛县| 绥德县| 彝良县| 南华县| 博乐市| 清原| 内乡县| 牡丹江市| 重庆市| 新乡县| 南昌市| 湟中县| 千阳县| 泗洪县| 景宁| 广宗县| 西和县| 大安市| 上杭县| 祁阳县| 巨鹿县|