PHP网站配置项,Thinkphp5通用网站后台配置项的动态添加及更新
一、引入
無論平時我們自己制作,還是瀏覽別人的網站,它都具有其相應的一些共用的、通用的屬性,比如:網站的名字,關鍵字、備案號、分頁數量、是否開啟緩存等信息。一些網站可能將配置項寫死在后臺,無法動態更新,便會出現字段可能太多有些我們不會使用;也許會出現字段太少,不能滿足我們的實際需求。今天我們要實現的功能就是要將網站后臺配置項,在網站中動態添加并為其設置相應內容,使其具有很強的動態適應性、和靈活性。
二、實現思路:
在TP5中建立
1、Conf控制器類,分別創建add()、lst()、edit()、delete()、conf()等方法。
2、在view下建立conf文件夾存放需要的視圖頁面,add、lst、edit、conf.html等。
(1)add()方法用來添加配置項,其中中文名稱、英文名稱、配置類型為必填項。
/***
* 添加
*/
public function add(){
//判斷是否post提交
if(request()->isPost()){
//接受數據
$data=input('post.');
// var_dump($data);die;
//驗證數據
$validate=Loader::validate('conf');
if(!$validate->scene('add')->check($data)){
$this->error($validate->getError());
}
//判斷有無提交值
if($data['values']){
$data['values']=str_replace(',',',',$data['values']);
}
//向數據庫插入數據
$result=db('conf')->insert($data);
if($result){
$this->success('配置項添加成功!','lst');
}else{
$this->error('配置項添加失敗!');
}
}
return $this->fetch();
}
2.edit()方法用來修改配置項,其中中文名稱、英文名稱、網站類型為必填項。
/***
* 編輯
*/
public function edit($id){
$conf=db('conf')->find($id);
if(!$conf){
$this->error('該配置項不存在!');
}
if(request()->isPost()){
$data=input('post.');
//驗證提交數據
$validate=Loader::validate('conf');
if(!$validate->scene('edit')->check($data)){
$this->error($validate->getError());
}
//替換中文字符逗號
if(isset($data['type'])){
$data['type']=str_replace(',',',',$data['type']);
}
//更新
$result=db('conf')->update($data);
if($result !==false){
$this->success('配置項信息更新成功!','lst');
}else{
$this->error('配置項信息更新失敗!');
}
}
$this->assign('conf',$conf);
return $this->fetch();
}
3.lst()顯示后臺動態添加的配置項。
/***
* 列表
*/
public function lst(){
$conf=new ConfModel();
if(request()->isPost()){
$data=input('post.');
//按照排序字段更新記錄
foreach($data as $k=>$v){
$conf->update(['id'=>$k,'sort'=>$v]);
}
$this->success("配置項排序更新成功!");
}
$list=$conf->order('sort desc')->paginate(10);
$this->assign('list',$list);
return $this->fetch();
}
注意:前三個方法,只是針對配置項動態的添加、修改、顯示用的。而下面的conf()方法,完成對配置項值的動態顯示及修改。
4.conf()方法
conf.html源碼:
{include file="common/header"}
{include file="common/sidebar"}
網站配置項
配置名稱配置值
<?php echo $v['cnname'];?>if($v['values']){
$str=explode(',',$v['values']);
}
foreach($str as $v1):
?>
value="<?php echo $v1;?>">
value="<?php echo $v['values'];?>">
if($v['values']){
$str=explode(',',$v['values']);
}
?>
><?php echo $arr ?>
style="margin:0 auto;display: block;" />
總結
以上是生活随笔為你收集整理的PHP网站配置项,Thinkphp5通用网站后台配置项的动态添加及更新的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【测试】身份证的前世今生
- 下一篇: 【Python】ffmpeg模块查询视频