前面教程中,我们使用了一个类,然而这个类拿来学习还行,实战的时候其实很不方便。
比如不能很方便的添加多个设置页面,每增加一个设置选项都需要改动三个地方,每个设置选项都需要手动书写表单代码。
我想理想的类文件应该是这样的:
类的代码放在一个单独的文件中,选项的配置在类的外面配置,只需要选择类型、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(){}
//......等等
}
?>
本节完,请继续参考下一篇文章。