Привет, дорогие читатели! Сегодня мы пройдемся по последним обновлениям фреймворка 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. Удачи в обновлениях!
Источник: habr.com