Maison > Questions et réponses > le corps du texte
Lors de l'utilisation de tp3.3 pour le développement de projets, les codes ajoutés, supprimés, modifiés et vérifiés sont souvent les mêmes, en particulier la partie contrôleur. Cependant, le même code dans chaque contrôleur doit être réécrit.
J'ai réappris le design. modèles, ce type Quel type de modèle peut être utilisé pour réduire la quantité de duplication de code Il est préférable d'utiliser des modèles de conception
Par exemple, créez le système rbac :
Il s'agit du code de base pour ajouter, supprimer, modifier et vérifier mon contrôleur administrateur. À l'exception des différentes classes de modèles créées par le constructeur, les structures de base d'ajout, de suppression, de modification et de vérification sont similaires. Comment puis-je réduire le code en double ? j'espère qu'un expert pourra me donner quelques conseils, merci.
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();
}
巴扎黑2017-05-31 10:36:08
Soyons orientés objet. Pour les ajouts, suppressions, modifications et requêtes de base, écrivez une classe de base. Pour les classes spéciales, héritez simplement de la classe de base et remplacez-la
.