Skip to content

Latest commit

 

History

History
28 lines (23 loc) · 2.86 KB

File metadata and controls

28 lines (23 loc) · 2.86 KB

Домашнее задание №5

  1. Добавлен класс исключений, возникающих при работе с БД: App\Exceptions\DbException. Бросаются исключения это типа в классе App\Classes\Db в методах query() и execute().
  2. Ловятся исключения из пункта 1 во фронт-контроллере.
  3. Добавлен класс исключений App\Exceptions\E404Exception. Бросаются исключения этого типа в контроллерах News (метод actionOne()) и AdminNews (методы actionEdit() и actionDelete()). Обработка - также во фронт-контроллере.
  4. Метод fill() добавлен в абстрактную модель и переопределён в моделе новостей (применён паттерн Мультиисключение).
  5. Добавлен класс-логгер App\Classes\LogException. Логируются исключения из пунктов 1 - 3.

Домашнее задание №6

  1. Проверил код на соответствие стандартам PSR-1 и PSR-2.
  2. Подключил с помощью composer библиотеку swiftmailer/swiftmailer
  3. Организовал отправку сообщения администратору при возникновении проблем с подключением к базе данных. Для удобства создал собственный класс \App\Classes\Mail, который при создании в конструкторе получает данные из конфига и сохраняет в себе. В конфиге почтовые данные отправителя и получателя (логин, пароль и т.д.). Конфиг в git не добавлял! У класса \App\Classes\Mail создал функцию send(), которая и работает с библитекой swiftmailer.
  4. Оформил пакет composer "multiexception". Ссылка https://packagist.org/packages/customer41/multiexception. Ссылка на репозиторий на гитхабе: https://github.com/customer41/multiexception. А также установил через composer и использовал в своём проекте.

Домашнее задние №7

  1. Создал метод queryEach() в классе Db. Использовал его в методе findFew() абстрактной модели.
  2. Создал класс App\Classes\AdminDataTable по заданию.
  3. В админ-контроллере авторов создал метод actionShowTable(), который выводит всех авторов в виде таблицы, используя класс AdminDataTable