五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

分享到微博請遵守國家法律
容城县| 高雄县| 新乡县| 谢通门县| 阜康市| 洛阳市| 师宗县| 大英县| 宜良县| 上林县| 乳山市| 晋江市| 瓮安县| 江陵县| 灵璧县| 郧西县| 如皋市| 福建省| 巨野县| 太仆寺旗| 枞阳县| 永川市| 大田县| 丹棱县| 余江县| 荣昌县| 吉林省| 汶上县| 琼海市| 青冈县| 瓦房店市| 池州市| 友谊县| 搜索| 共和县| 合水县| 平安县| 肇庆市| 游戏| 广宁县| 博湖县|