Маршрутизация в Doka25C

1. Введение

В Doka25C используется встроенная система маршрутизации CodeIgniter 4 для обработки URL-адресов и организации маршрутов.

Маршруты задаются в файле app/Config/Routes.php, где можно определять статические и динамические маршруты.

2. Определение маршрутов

Пример базовой конфигурации маршрутов в app/Config/Routes.php:


$routes->get('/', 'HomeController::index');
$routes->get('docs', 'DocumentationController::index');
$routes->get('users', 'UserController::index');
$routes->get('articles/(:num)', 'ArticleController::view/$1');

// Новые маршруты для регистрации пользователей
$routes->post('/register', 'UserController::register');
$routes->get('/verify', 'UserController::verify_email');
        
В этом примере:
/ — загружает HomeController::index().
/docs — загружает DocumentationController::index().
/users — загружает UserController::index().
/articles/(:num) — принимает числовой параметр и передает его в ArticleController::view($1).
/register — обрабатывает POST-запрос для регистрации нового пользователя.
/verify — подтверждает email пользователя.

3. Создание контроллеров

Контроллер — это класс, обрабатывающий входящие запросы. Пример HomeController.php:


namespace App\Controllers;

use CodeIgniter\Controller;

class HomeController extends Controller {
    public function index() {
        return view('home');
    }
}
        

Контроллер для регистрации пользователей


namespace App\Controllers;
use App\Models\UserModel;
use CodeIgniter\Controller;

class UserController extends Controller {
    public function register() {
        // Обработка регистрации пользователя
    }

    public function verify_email() {
        // Подтверждение email через токен
    }
}
        

4. Точка входа

Файл public/index.php является точкой входа в CodeIgniter 4. Он загружает маршруты и передает запрос в соответствующий контроллер:


define('FCPATH', __DIR__ . DIRECTORY_SEPARATOR);

require FCPATH . '../vendor/autoload.php';
$app = require FCPATH . '../app/Config/Bootstrap.php';

$app->run();
        

CodeIgniter сам обрабатывает маршруты, и все запросы направляются в Routes.php.

5. Проблемы маршрутизации

Иногда маршрутизация может не работать корректно. Возможные проблемы:

Подробнее о возможных проблемах можно узнать здесь.

6. Заключение

Маршрутизация в Doka25C основана на CodeIgniter 4, что позволяет гибко управлять URL-адресами и направлять их в нужные контроллеры.

Добавлены маршруты /register и /verify для регистрации и подтверждения email пользователей.

Связанные страницы

Вернуться на главную