這段時間以來,一直接觸phpwind,所以在此給剛接觸的朋友分享一些自己學習的心得,以下主要講下外掛程式開發相關方面的內容及原始專案檔案修改的一些注意點
(1)關於外掛程式開發
首先可以瀏覽下官方的教程: ,不過,可能官方的教程有些地方剛入手的時候會不太明白,在此做下解釋。
admin.php,info.xml檔案。下面解釋下這幾個檔案
data -- 存放外掛程式可能涉及到的配置檔案(一般會生成config.php檔案),資料快取檔案
template -- 模板資料夾,前後臺顯示頁面的模板檔案
index.php -- 一般與template中index.htm想對應的用於處理業務邏輯,最終將結果呈現給template/index.htm模板檔案的php原始檔
admin.php -- 原理與上面「index.php"檔案類似,只是用於後台資料管理
info.xml -- 這個檔案我沒怎麼用過,據推斷xml應該是個配置檔案,外掛程式相關配置資訊應該也可以寫入該檔案中
2.一般外掛程式在後台安裝完畢並開啟後,在data目錄下會生成乙個config.php檔案,該檔案裡面是一些外掛程式相關的基本配置資訊,存放在乙個陣列中,類似$db_demo的陣列,陣列以key,value的形式存放,例如,裡面的key "ifopen"指的是該外掛程式是否開啟。
3.下面說下2中的後台設定如何寫入config.php檔案的過程。其實很簡單:
(1).在前台頁面預設生成檔案中會有類似一下的**:
(2).在後台通過
initgp(array('config'));//獲取前台傳遞過來的config陣列
這個函式獲取到config陣列的值,再通過
writeover(h_p."data/config.php","<?php\r\n\$db_demo=".pw_var_export($config).";\r\n?>");//將配置資訊寫入config.php這個檔案
將配置資訊通過writeover()函式寫入檔案config.php,就這麼簡單。最後再呼叫下操作成功後的提示資訊函式。
以上步驟就是將後台管理資訊寫入檔案的過程。
4.寫入配置資訊後,又是如何讀取的
這個灰常的簡單
include_once(h_p."data/config.php");
通過上面的**,就將配置檔案的陣列資訊讀取進來了,然後在前台模板檔案可以任意讀取這些配置資訊了,這裡可能會涉及到乙個ifcheck()函式,效果就是用來選中類似select、radio等元素相應的值。看下ifcheck()這個函式**就知道了。
小結:以上所說,就是用外掛程式助手生成的檔案中,如何將後台配置資訊寫入檔案的過程,很簡單吧。上面過程的好處就是省了資料庫,對於資料量不是很多的話可以採用以上的方式。比如:前台需要展現一組加鏈結的形式,那可以將的位址與鏈結位址資料寫入類似上面提到的config.php的這麼乙個檔案中。
其他的地方我也不再多囉嗦了,就跟一般的寫php程式沒啥區別,就是一些業務邏輯的判斷,以及一些資料的crud操作,另外要了解下在外掛程式開發中常用的一些函式,在此我不多囉嗦的,官方教程中都有。
phpwind外掛程式開發框架與常用函式
外掛程式結構 所有外掛程式被放置在 hack 目錄下管理。一般外掛程式包含以下幾個檔案 1 info.xml 外掛程式預設安裝基本資訊 2 admin.php 外掛程式後台管理 程式頁面 3 index.php 外掛程式前台執行 程式頁面 4 template 外掛程式所需模板檔案 此資料夾一般包含...
解析phpwind的外掛程式體系
看phpwind的官方 發現有個很重要版塊為 phpwind 外掛程式開發 第一感覺是phpwind有個很完善的外掛程式體系,吸引開發者來基於外掛程式體系進行二次開發。於是乎我饒有興趣地解析一下phpwind的外掛程式體系的實現。我先說說在我看來外掛程式體現比較重要的兩個特徵 對於第乙個特徵phpw...
解析phpwind的外掛程式體系
看phpwind的官方 發現有個很重要版塊為 phpwind 外掛程式開發 第一感覺是phpwind有個很完善的外掛程式體系,吸引開發者來基於外掛程式體系進行二次開發。於是乎我饒有興趣地解析一下phpwind的外掛程式體系的實現。我先說說在我看來外掛程式體現比較重要的兩個特徵 對於第乙個特徵phpw...