我有更多关于风格和组织的问题。我经常发现自己有一个需要多个Ajax调用的单个页面(控制器)。而不是仅仅为AJAX创建一个单独的控制器调用,因为这将意味着更多的控制器我只是做到以下几点:单独的AJAX控制器vs电流控制器?
class Management extends MY_Controller
{
public function __construct()
{
parent::__construct();
$this->protect->protect();
if ($this->uri->segment(2, 0) !== 0 && !$this->input->is_ajax_request()) {
exit('No direct script access allowed');
}
}
public function index()
{
$this->load->model('management_model');
$data['row_config'] = $this->management_model->getConfigRows();
$data['row_users'] = $this->management_model->getUsers();
$data['roles'] = $this->management_model->getRoles();
$this->tpl->head();
$this->load->view('management/scripts');
$this->tpl->body();
if ($this->messages->hasMessages()) {
$this->output->append_output($this->messages->display());
}
$this->load->view('management/manage', $data);
$this->load->view('management/current_users', $data);
$this->load->view('management/modals', $data);
$this->tpl->footer();
}
public function get_user_details()
{
$user = new \Auth\ASUser($_POST['userId']);
echo json_encode($user->getAll());
}
public function delete_user()
{
$user = new \Auth\ASUser($_POST['userId']);
$user->deleteUser(true);
}
由于指数是我真正需要呈现适当的视图的唯一页面,其余是ajax调用我只是检查URI段,看看是否存在索引以外的东西,然后检查它是否是ajax请求。
这是不好的做法?我应该分开AJAX调用和视图控制器吗?