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

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

我想理想的類文件應該是這樣的:

類的代碼放在一個單獨的文件中,選項的配置在類的外面配置,只需要選擇類型、 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. ?>  

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