2016-02-04 4 views
-3

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

Пример,

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

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

+0

Смотрите эту ссылку: - http://stackoverflow.com/a/34850721/4198099 –

+0

работа через учебник в CodeIgniter руководство пользователя, и это станет намного понятнее, как это сделать. – cartalot

ответ

0

Его очень легко

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(); 
    } 
} 
+0

Я уже это сделал. проблема в том, что я не могу вызвать другой класс из другого контроллера. –

+0

создайте этот класс в папке библиотеки. и назовите его в своем контроллере $ this-> authenticate-> is_logged_in(); – Angel

+0

hi kev_m, пожалуйста, поместите файл класса в библиотечную папку, отредактируйте мой ответ, проверьте его – Angel