как использовать несколько контроллеров в codeigniter

В настоящее время я работаю над проектом в codeigniter. Я хочу разделить свои контроллеры для каждой функции.

Пример,

controller_for_login.php
controller_for_redirecting_to_other_views.php
controller_for_CRUD.php
controller_for_others.php

есть ли способ сделать это как этот? так что мои коды будут много организованы. Благодарю.


person kev_m    schedule 04.02.2016    source источник
comment
Перейдите по этой ссылке: - stackoverflow.com/a/34850721/4198099   -  person Ravi    schedule 04.02.2016
comment
поработайте с учебным пособием в руководстве пользователя codeigniter, и вам станет намного понятнее, как это сделать.   -  person cartalot    schedule 05.02.2016


Ответы (1)


Это очень легко

1)Сначала создайте новый файл в папке контроллера, например Classname.php

2) Отредактируйте этот файл

class Classname Extends CI_Controller
{
}

3) Поместите свои новые функции в этот файл класса

Поместите файл класса в папку библиотеки, такой файл

class Authenticate {

    public function __construct()
    {
        $this->ci =& get_instance();

    }
  public function is_logged_in()
    {
        $sessionid = $this->ci->session->userdata('moderId');
        if($sessionid)
        {
        return isset($sessionid);
        }
         else if(!$sessionid) {
      redirect(base_url() . 'moderator');
 }
    }
}

И в файле контроллера вызовите эту функцию класса следующим образом

class B2bcategory extends CI_Controller {    
    function __construct() {
        parent::__construct();
        $this->authenticate->is_logged_in();
    }
}
person Angel    schedule 05.02.2016
comment
я уже сделал это. проблема в том, что я не могу вызвать другой класс с другого контроллера. - person kev_m; 05.02.2016
comment
создайте этот класс в папке библиотеки. и вызовите его в своем контроллере $this-›authenticate-›is_logged_in(); - person Angel; 05.02.2016
comment
привет kev_m, пожалуйста, поместите файл класса в папку библиотеки, я отредактировал свой ответ, проверьте его - person Angel; 05.02.2016