Yii2: Обработка ошибок
Обработчик ошибок включен в Yii 2 по умолчанию. Отключить его можно добавив следующий код в стартовый скрипт приложения web/index. php:
Конфигурация по умолчанию
В шаблонах приложений Yii 2 basic и advanced обработчик ошибок подключен как компонент приложения errorHandler. Рассмотрим примеры конфигурации:
Минимальная конфигурация обработчика ошибок использует site/error для отображения ошибок и исключений.
В данном случае нет необходимости в явном создании действия actionError в контроллере SiteController. Если заглянуть в файл SiteController. php, можно увидеть, что там использовано встроенное действие yii\web\ErrorAction, которое отображает информацию через представление views/site/error. php.
Настройка представления и шаблона
Возьмем за основу вышеописанную стандартную конфигурацию.
Представление описывается свойством view класса yii\web\ErrorAction:
В тоже время, шаблон для вывода сообщений об ошибках, можно изменить двумя способами:
1. Явно указав нужный шаблон в файле представления:
2. Указать шаблон в методе beforeAction() класса SiteController:
Свой обработчик ошибок
При необходимости, возможно создание своего метода для обработки ошибок. Например, создадим действие site/fault в контроллере SiteController:
И подключим его в конфигурационном файле:
Готово. Теперь все ошибки будут обрабатываться новым методом actionFault() контроллера SiteController.
What You’ll Be Creating
Если вы спрашиваете «Что такое Yii?», ознакомьтесь с моим предыдущим учебным пособием: Введение в Yii Framework, в котором рассматриваются преимущества Yii и которое включает обзор нового в Yii 2.0, выпущенного в октябре 2014 года.
В этом курсе Программирование с Yii2 я направляю читателей на использование недавно обновленного Yii2 Framework для PHP. В этом уроке я собираюсь познакомить вас с валидаторами Yii2. Валидаторы упрощают код, необходимый для проверки ввода, то есть проверяют соответствие или несоответствие ввода данных, как правило, от пользователей через веб-формы.
В этих примерах мы продолжим использование кодовой базы приложения Hello, которую мы использовали в прошлых уроках. Используйте ссылки GitHub на этой странице, чтобы получить код.
Просто напоминание, я участвую в ниже выведенных комментариях. Меня особенно интересует, если у вас есть дополнительные идеи или вы хотите предложить темы для будущих учебников. Вы также можете связаться со мной @reifman в Twitter.
Что такое Валидатор?
Если вы являетесь веб-разработчиком, вы, вероятно, знаете, что пользователю нельзя доверять. Например, пользователи могут использовать методы SQL-инъекций, чтобы попытаться запустить запросы, которые изменяют или раскрывают пароли. Кто-то однажды запустил SQL-инъекцию против установки PHPList с открытым исходным кодом и смог открыть один из моих паролей (PHPList сохранял их в виде обычного текста). Чаще всего вы просто хотите убедиться, что данные, которые пользователи предоставляют, соответствуют типам, формам и диапазонам вашего приложения.
Создание валидаторов в PHP вручную требует времени. Yii Framework предоставляет тонну базовых функций проверки, поэтому нет необходимости создавать их с нуля. Но, если вам нужны какие-то пользовательские расширения, это просто.
Какие проверки поддерживает Yii?
В данном разделе опубликована информация, которая призвана решить спорные вопросы и определить порядок действий при их возникновении. Группой разработчиков мы собрали наиболее полный список рекомендаций, который поможет вам в создании новых модулей и приложений на Yii
Бизнес-логика
Бизнес-логике не место в ActiveRecord, контроллере и тем более в представлении. Размещать бизнес-логику необходимо в отдельных классах с говорящими названиями “СущностьДействие”. В результате получаются “худые” контроллер и ActiveRecord. Данный подход повышает читабельность проекта в разы, а также позволяет производить тестирование бизнес-логики.
Миграции в базе данных
Если в проекте используется СУБД MySQL для использования внешних ключей (Foreign keys) и транзакций, в качестве системы хранения данных (Storage engine) должна быть выбрана InnoDB. При создании таблицы в БД необходимо использовать следующую конструкцию:
Структура базы данных
Кеширование и переиспользование данных
Представления
Рекомендации по оформление кода в приложениях Yii 2
Общие положения
Классы
Константы
Свойства
Методы
Переменные
Переменная должна наиболее полно описывать представляемую сущность, это значит, что она должна иметь понятное название, по которому можно судить о ее предназначении.
Комментирование
Область комментирования
Обратите внимание, что комментарий типа # не используется. Это связано с тем, что на основании оставленных комментариев генерируется документация к разрабатываемому программному продукту.
Порядок составления комментария
Требования к комментариям в коде
Рекомендации к комментированию кода
Комментарии к полям (столбцам) таблиц БД
Во время проектирования таблиц БД необходимо добавлять комментарии для полей таблиц:
А также название полей появятся в веб-приложении для администрирования СУБД.
https://p0vidl0.info/yii-2.html
https://code. tutsplus. com/ru/tutorials/how-to-program-with-yii2-validations—cms-23418
https://task-on. com/platforma-taskon/rekomendacii-programmirovanie-yii-2