前面教程中,我們使用了一個類,然而這個類拿來學習還行,實戰的時候其實很不方便。

比如不能很方便的新增多個設定頁面,每增加一個設定選項都需要改動三個地方,每個設定選項都需要手動書寫表單程式碼。

我想理想的類檔案應該是這樣的:

類的程式碼放在一個單獨的檔案中,選項的配置在類的外面配置,只需要選擇型別、 id 、預設值即可,這樣寫好了類檔案,在實際使用的時候只需要載入類檔案,然後新增一個配置檔案將類例項化即可。

下面介紹我們在接下來的教程中將為看官提供的類檔案示例,選項配置檔案的程式碼應該是這樣的形式:

  1. $options[] = array(   
  2.     "name"=>"選項一",   //選項標題
  3.     "id"=>"option1",    //選項 id
  4.     "size"=>"60",   
  5.     "desc"=>"說明文字",   
  6.     "type"=>"text"  //表單型別
  7. );   
  8.                
  9. $options[] = array(   
  10.     "name"=>"選項二",   
  11.     "id"=>"option2",   
  12.     "desc"=>"說明文字",   
  13.     "type"=>"textarea"  
  14. );  

即透過在配置檔案中以陣列形式新增選項的基本資訊即可。上面程式碼是配置詳細選項的示例,我們還需要一個配置設定頁面資訊的程式碼,如下:

  1. $pageinfo = array('full_name' => '阿樹工作室主題設定', 'optionname'=>'general', 'child'=>false, 'filename' => basename(__FILE__));   
  2. //full_name 為設定頁面的 title 和選單標題   
  3. //optionname 為選項組的名稱   
  4. //child-是否為頂級選單   
  5. //filname 為選單 slug  

我們在將類例項化的時候將上面的配置引數傳遞進去即可。這樣在使用的時候將會很方便很方便很方便很方便...

我們可以先思考一下我們的類的結構應該是這樣:

  1. <?php   
  2. class ashu_option_pages{   
  3.     var $options;   
  4.     //... 類的屬性   
  5.        
  6.     //透過引數例項化類   
  7.     __construct($options,$page_info){   
  8.         //透過 page_info 引數資訊執行建立設定頁面的函式   
  9.         //執行載入 js 和 css 的函式   
  10.            
  11.     }   
  12.        
  13.     //建立設定頁面函式   
  14.     function add_pages(){   
  15.         //透過 optinos 執行頁面輸出函式   
  16.     }   
  17.     //載入 js css 函式   
  18.     function enqueue_script(){   
  19.        
  20.     }   
  21.     //頁面輸出函式   
  22.     function display(){   
  23.         //分析 options,執行不同表單輸出程式碼   
  24.     }   
  25.     //儲存更新資料函式   
  26.     function save_option(){   
  27.            
  28.     }   
  29.        
  30.     //各種型別表單輸出函式   
  31.     function text(){}   
  32.     function textarea(){}   
  33.     function upload(){}   
  34.     //...... 等等   
  35.        
  36. }   
  37. ?>  

本節完,請繼續參考下一篇文章。