Привет, дорогие читатели! Сегодня мы пройдемся по последним обновлениям фреймворка CodeIgniter 4, проанализируем самые значимые изменения между версиями 4.4.0 и 4.5.1. Готовы? Тогда начнём наше путешествие по миру кода и функциональности!
Значительные изменения и улучшения
Исправления и нововведения валидации
Одно из наиболее значительных обновлений касается механизма валидации. В версии 4.4.4 была исправлена ошибка, связанная с использованием dot array синтаксиса в правилах валидации. Ранее, правило contacts.*.name
могло некорректно интерпретировать данные, захватывая лишние уровни массивов. Теперь валидация стала строже и точнее:
$validation->setRules([
'contacts.*.name' => 'required|max_length[8]'
]);
$validation->run($data); // теперь верно определяет уровни и валидирует их
Изменения в CURLRequest
В версии 4.4.4 было удалено использование опции ssl_key
в CURLRequest, что требует внимания при обновлении. Вместо ssl_key
следует использовать verify
для указания пути к файлу сертификата CA.
Изменения в обработке HTTP-методов
С версии 4.5.0 фреймворк начал обрабатывать HTTP-методы в их реальном регистре (заглавные буквы), что стало важным соблюдением стандартов. Это изменение касается метода Request::getMethod()
:
$request->getMethod(); // Возвращает 'GET', 'POST' и т.д.
Работа с маршрутами и фильтрами
Обновление 4.5.0 также принесло изменения в порядок выполнения фильтров и обработку вложенных маршрутных групп, что важно для тонкой настройки поведения приложения.
Улучшение безопасности
В версии 4.4.7 была добавлена функция проверки URI на наличие нежелательных символов, повышая уровень безопасности приложений:
public string $permittedURIChars = 'a-z 0-9~%.:_\-';
Обновления файлов проекта
Важные файлы
index.php и spark - с версии 4.5.0 эти файлы получили значительные изменения, которые необходимо внедрить для корректной работы фреймворка после обновления.
Список изменённых файлов
Примеры путей к файлам, которые были обновлены в последних версиях, включают:
app/Config/Filters.php
app/Views/errors/html/error_exception.php
public/index.php
spark
и многие другие.
Заключение
CodeIgniter 4 продолжает развиваться, сосредотачиваясь на улучшении безопасности, удобства валидации и совместимости со стандартами. Эти обновления улучшают производительность и упрощают разработку современных веб-приложений. Следите за обновлениями, чтобы ваше приложение всегда оставалось на пике возможностей!
Не забудьте воспользоваться помощью сторонних модулей CodeIgniter для облегчения процесса слияния изменений в пространстве проекта, которые доступны на Packagist. Удачи в обновлениях!