我有一个这样的控制器:
public function index() {
$data['content'] = 'homepage/login';
$this -> load -> view('templates/no_jsTemplate', $data);
}
index() 是登录页面(任何人都会看到的第一页)
现在该索引页面有一个表单,可以将其发布数据发送到:
public function login_user() {
$this -> load -> library('form_validation');
if ($this -> form_validation -> run('c_homepage/login_user') == FALSE) {
$this -> index();
} else {
$this -> load -> model('m_homepage');
$this -> m_homepapge -> login_user();
}
}
可以浓缩吗?我觉得每页有两个控制器功能太多了,不是吗?
我试过这个:
public function index() {
if (!$this -> input -> post('login_user')) { // check if submit is clicked, if not then just load the data array and show the view
$data['content'] = 'homepage/login';
$this -> load -> view('templates/no_jsTemplate', $data);
} else { // if it is clicked load the library and then do the validation and then load the model if validation passes and then do the login_user business calculation
$this -> load -> library('form_validation');
if ($this -> form_validation -> run('c_homepage/login_user') == FALSE) {
$this -> index();
} else {
$this -> load -> model('m_homepage');
$this -> m_homepapge -> login_user();
}
}
}
但是当这样做时,这让我陷入了无限循环。我已经构建了其他应用程序,其中我将具有加载视图的功能,然后是控制器将数据发送到模型的功能。我只是想学习其他更好的做事方式。我的成绩反映在这个项目上。我的主要目标是尽可能干燥。我想尝试编写更少的代码以获得更多的成功。希望这不是要求太多。