Как мне создать контроллер входа? Codeigniter - PullRequest
0 голосов
/ 28 апреля 2018

У меня проблемы с codeigniter и моделью MVC. На моей веб-странице у меня есть main контроллер с функциями, которые обрабатывают обычное меню навигации с различными представлениями home page,about,support..., но у меня есть представление входа в систему.

  1. Я не уверен, является ли это разделение правильным, или я должен создать контроллер для каждого представления.
  2. Как я вызываю контроллер входа, я использую base_url('main/myView/'); для вызова функций внутри основного контроллера, но если я вызываю контроллер входа из представления входа в систему base_url('login/foo');, он не работает.

Я новичок в codeigniter и прочитал их учебник, но все еще не уверен, когда мне следует создавать новый контроллер.

Спасибо

Ответы [ 2 ]

0 голосов
/ 28 апреля 2018

Вам не нужно создавать мульти-контроллер для каждого вида. Вы можете сделать все это с одним контроллером.

Если вам нужен другой контроллер, вы можете создать новый контроллер и назначить его в rout.php. На данный момент я создаю 2 контроллера. Запомните имя контроллера, начните с заглавной буквы

// pages controller
class Pages extends CI_Controller { // `application/controller/Pages.php`
    public function __construct(){
        parent::__construct();     
    }
    public function index(){
        // default_controller
    }
    public function about(){
        // pages/about
    }
    public function support(){
        // pages/support
    }
}

// admin controller
class Admin extends CI_Controller { // `application/controller/Admin.php`
    public function __construct(){
        parent::__construct();     
    }
    public function login(){
        // admin/login
    }
    public function logout(){
        // admin/logout
    }
}

Назначить URL для контроллера в application/config/routes.php

$route['default_controller'] = 'pages';   // call lowercase letter
$route['about'] = 'pages/about';
$route['support'] = 'pages/support';

$route['login'] = 'admin/login'; // call lowercase letter
$route['logout'] = 'admin/logout';

Если вы позвоните base_url('login'), функция входа в систему контроллера администратора будет работать

Если вы позвоните base_url('about'), контроллер страниц о функции будет работать

0 голосов
/ 28 апреля 2018

Существует множество библиотек авторизации для Codeigniter. Я уверен, что использовать библиотеку лучше, чем вы ее пишете.

Библиотека аутентификации Codeigniter 3.x?

https://github.com/benedmunds/CodeIgniter-Ion-Auth

https://github.com/jenssegers/codeigniter-authentication-library

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...