无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

分享到微博請遵守國家法律
耒阳市| 屏东市| 岱山县| 获嘉县| 襄垣县| 甘洛县| 福建省| 莱阳市| 九寨沟县| 尼玛县| 镇原县| 天津市| 遂宁市| 德保县| 武鸣县| 兴宁市| 即墨市| 金湖县| 呼伦贝尔市| 湖南省| 佛山市| 周宁县| 锡林浩特市| 客服| 兴海县| 梅州市| 旬邑县| 博白县| 温州市| 微博| 榆树市| 子洲县| 鄄城县| 南宫市| 青川县| 浪卡子县| 明光市| 玛曲县| 东辽县| 习水县| 西乌珠穆沁旗|