前面教程中,我們使用了一個類,然而這個類拿來學習還行,實戰的時候其實很不方便。
比如不能很方便的新增多個設定頁面,每增加一個設定選項都需要改動三個地方,每個設定選項都需要手動書寫表單程式碼。
我想理想的類檔案應該是這樣的:
類的程式碼放在一個單獨的檔案中,選項的配置在類的外面配置,只需要選擇型別、 id 、預設值即可,這樣寫好了類檔案,在實際使用的時候只需要載入類檔案,然後新增一個配置檔案將類例項化即可。
下面介紹我們在接下來的教程中將為看官提供的類檔案示例,選項配置檔案的程式碼應該是這樣的形式:
- $options[] = array(
- "name"=>"選項一", //選項標題
- "id"=>"option1", //選項 id
- "size"=>"60",
- "desc"=>"說明文字",
- "type"=>"text" //表單型別
- );
- $options[] = array(
- "name"=>"選項二",
- "id"=>"option2",
- "desc"=>"說明文字",
- "type"=>"textarea"
- );
即透過在配置檔案中以陣列形式新增選項的基本資訊即可。上面程式碼是配置詳細選項的示例,我們還需要一個配置設定頁面資訊的程式碼,如下:
- $pageinfo = array('full_name' => '阿樹工作室主題設定', 'optionname'=>'general', 'child'=>false, 'filename' => basename(__FILE__));
- //full_name 為設定頁面的 title 和選單標題
- //optionname 為選項組的名稱
- //child-是否為頂級選單
- //filname 為選單 slug
我們在將類例項化的時候將上面的配置引數傳遞進去即可。這樣在使用的時候將會很方便很方便很方便很方便...
我們可以先思考一下我們的類的結構應該是這樣:
- <?php
- class ashu_option_pages{
- var $options;
- //... 類的屬性
- //透過引數例項化類
- __construct($options,$page_info){
- //透過 page_info 引數資訊執行建立設定頁面的函式
- //執行載入 js 和 css 的函式
- }
- //建立設定頁面函式
- function add_pages(){
- //透過 optinos 執行頁面輸出函式
- }
- //載入 js css 函式
- function enqueue_script(){
- }
- //頁面輸出函式
- function display(){
- //分析 options,執行不同表單輸出程式碼
- }
- //儲存更新資料函式
- function save_option(){
- }
- //各種型別表單輸出函式
- function text(){}
- function textarea(){}
- function upload(){}
- //...... 等等
- }
- ?>
本節完,請繼續參考下一篇文章。