Полное руководство по контроллерам в структуре CodeIgniter HMVC

В этой статье блога мы погрузимся в мир контроллеров в структуре HMVC (иерархическая модель-представление-контроллер) CodeIgniter. Мы рассмотрим различные методы и функциональные возможности, предлагаемые контроллерами, используя разговорный язык и попутно предоставляя примеры кода.

Контроллеры в CodeIgniter HMVC:
Контроллеры играют решающую роль в структуре HMVC CodeIgniter. Они действуют как посредники между моделями и представлениями, обрабатывая запросы пользователей и координируя поток данных и логику. Вот некоторые из основных методов, с которыми вы столкнетесь при работе с контроллерами:

  1. index(): этот метод является точкой входа по умолчанию для контроллера. Он отвечает за загрузку исходного представления или выполнение любой необходимой настройки.

  2. load->view(): этот метод загружает определенный файл представления, позволяя при необходимости передавать в него данные. Он обычно используется для рендеринга HTML-шаблонов.

public function index()
{
   $data['title'] = 'Welcome to my website';
   $this->load->view('home', $data);
}
  1. load->model(). Используйте этот метод для загрузки модели в контроллер. Модель обрабатывает взаимодействие с базой данных и манипулирование данными.
public function index()
{
   $this->load->model('user_model');
   $data['users'] = $this->user_model->get_users();
   $this->load->view('users', $data);
}
  1. input->post(): этот метод извлекает данные, отправленные через запрос POST. Обычно он используется для обработки отправки форм.
public function login()
{
   $username = $this->input->post('username');
   $password = $this->input->post('password');
   // Perform login logic
}
  1. uri->segment(). Используйте этот метод для получения сегментов из URI. Сегменты – это части URL-адреса, разделенные косой чертой.
public function profile()
{
   $username = $this->uri->segment(2);
   // Fetch user profile based on the username
}
  1. redirect(): этот метод перенаправляет пользователя на другой URL-адрес или маршрут.
public function logout()
{
   // Perform logout logic
   redirect('home');
}
  1. form_validation->run(): этот метод запускает правила проверки формы и возвращает информацию о том, прошла ли проверка или нет.
public function register()
{
   $this->form_validation->set_rules('username', 'Username', 'required');
   $this->form_validation->set_rules('email', 'Email', 'required|valid_email');

   if ($this->form_validation->run() == false) {
       // Display form errors
   } else {
       // Process registration logic
   }
}