suchen

Heim  >  Fragen und Antworten  >  Hauptteil

PHP – Probleme bei der Wiederverwendung von Framework-Code

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();
}
为情所困为情所困2762 Tage vor481

Antworte allen(1)Ich werde antworten

  • 巴扎黑

    巴扎黑2017-05-31 10:36:08

    面向对象吧,基本的增删改查写个基类,特殊的再继承基类覆写就好了

    Antwort
    0
  • StornierenAntwort