看了一些系统的写法,我看到他们是这么来写控制器的。
//添加
public function add(){
$this->assign('info',null);
return view();
}
//保存添加
public function addPost(){
$m = new M();
$result = $m->addPost();
if($result['error']){
$this->error($result['msg']);
}else{
$this->success($result['msg'],'index');
}
}
//修改
public function edit(){
$m = new M();
$info = $m->edit();
$this->assign('info', $info);
return view('add');
}
//修改保存
public function editPost(){
$m = new M();
$result = $m->editPost();
if($result['error']){
$this->error($result['msg']);
}else{
$this->success($result['msg'],'index');
}
}
//删除
public function del(){
$m = new M();
return $m->del();
}模型中这么来写//添加保存
public function addPost(){
$data = Request::except('file');
if(empty($data['name']) || empty($data['url'])){
$result = ['error'=>1,'msg'=>'请填写网站名称和网站地址'];
return $result;
}
$data['create_time'] = $data['update_time'] = time();
$result = self::save($data);
if($result){
$result = ['error'=>0,'msg'=>'添加成功'];
return $result;
}else{
$result = ['error'=>1,'msg'=>'添加失败'];
return $result;
}
}
//修改
public function edit(){
$info = self::getById(input("id"));
return $info;
}
//修改保存
public function editPost(){
if(Request::isPost()) {
$data = Request::except('file');
if(empty($data['name']) || empty($data['url'])){
$result = ['error'=>1,'msg'=>'请填写网站名称和网站地址'];
return $result;
}
$data['update_time']=time();
$result = self::save($data,['id'=>$data['id']]);
if($result){
$result = ['error'=>0,'msg'=>'修改成功'];
return $result;
}else{
$result = ['error'=>1,'msg'=>'修改失败'];
return $result;
}
}
}
//删除
public function del(){
if(Request::isPost()) {
$id = input('post.id');
if (empty($id)) {
$result['status'] = 0;
$result['msg'] = 'ID不存在!';
return $result;
}
self::destroy($id);
return $result = ['code'=>1,'msg'=>'删除成功!'];
}
}我想了解的是,这么写的话有什么好处,或者有什么弊端和缺点,大家又是习惯怎么写的。Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
最佳答案