Heim > Fragen und Antworten > Hauptteil
Bei der Verwendung von tp3.3 für die Projektentwicklung sind die hinzugefügten, gelöschten, geänderten und überprüften Codes im Grunde die gleichen, insbesondere der Controller-Teil. Allerdings muss derselbe Code in jedem Controller erneut geschrieben werden.
Ich habe Design gelernt Muster, diese Art Welche Art von Muster kann verwendet werden, um die Menge an Codeduplizierungen zu reduzieren? Am besten verwenden Sie Designmuster
Erstellen Sie beispielsweise ein Rbac-System:
Dies ist der Basiscode zum Hinzufügen, Löschen, Ändern und Überprüfen meines Administrator-Controllers. Mit Ausnahme der verschiedenen vom Konstruktor erstellten Modellklassen sind die grundlegenden Strukturen zum Hinzufügen, Löschen, Ändern und Überprüfen ähnlich Ich hoffe, ein Experte kann mir einen Rat geben, danke.
protected $_model;
public function __construct(){
parent::__construct();
$this->_model=new MannagerModel();
}
/**
* 管理员添加
*/
public function addC(){
if(IS_POST){
$data=I('post.');
$res=$this->_model->Store($data);
$this->redirectUrl($res,'listC');
}
$this->display();
}
/**
* 管理员列表显示
* @return [type] [description]
*/
public function listC(){
$data=$this->_model->lists();
$this->assign('lists',$data);
$this->display();
}
/**
* 管理员删除
* @return [type] [description]
*/
public function delC(){
$id=intval(I('get.id'));
$res=$this->_model->del($id);
//跳转判断函数
$this->redirectUrl($res);
}
/**
* 管理员更新
* @return [type] [description]
*/
public function editC(){
$id=intval(I('get.id'));
//where的数组形式
$where['id']=$id;
// 显示旧数据
$old=$this->_model->lists($where);
$this->assign('old',$old);
//存储新的数据
if(IS_POST){
$data=I('post.');
$res=$this->_model->edit($id,$data);
$this->redirectUrl($res,'listC');
}
$this->display();
}