<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Обработка ошибок в PHP

Обработка ошибок в PHP

Выпуская сайт в Интернет, 99.9% того, что там содержится масса ошибок, причём именно масса. Вроде Вы всё проверили, вроде всё протестировали, однако, ошибки всё равно не избежны, и очень важно получать о них своевременную информацию. И вот об обработке ошибок в PHP мы и поговорим в этой статье.

Значит, наша с Вами задача получать каким-то образом уведомления о возникающих проблемах. Давайте разберём такой простой код:

<?php
  /* Функция по обработке ошибок */
  function handlerErrors($code, $msg, $file, $line) {
    mail("admin@mysite.ru", "Произошла ошибка", "$msg ($code) в файле $file (строка $line)"); // Отправляем e-mail администратору о возникновении ошибки
    /* Здесь можно сделать редирект на страницу с информацией о том, "что ошибка получена, и скоро она будет исправлена" (так поступает множество серьёзных сервисов, по типу mail.ru и прочих) */
  }
  set_error_handler(handlerErrors); // Устанавливаем наш обработчик ошибок
  $mysqli = new mysqli("localhost", "root", "", "mydb"); // Пытаемся подключиться к базе данных
  if (!$mysqli) {
    /* Если подключение не удалось, то вызываем ошибку */
    trigger_error("No connect");
  }
?>

В результате, Вы можете получить на свой e-mail, например, следующее: "mysqli::mysqli() [<a href='mysqli.mysqli'>mysqli.mysqli</a>]: (28000/1045): Access denied for user 'root'@'localhost' (using password: YES) (2) в файле Z:\home\test.local\www\index.php (строка 8)".

При этом пользователь никаких ошибок не увидит, если Вы этого, конечно, не захотите, а Вы, в свою очередь, получите письмо и сможете принять меры по устранению ошибки. Так же обратите внимание, что данная ошибка будет размещена в log-файле, поэтому, в целом, письмо отправлять и необязательно, достаточно регулярно просматривать log с ошибками.

А на этапе создания сайта Вам нужно как можно больше найти "опасных" мест, где могут возникнуть ошибки и поставить там проверку и вызов trigger_error() в случае её возникновения.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (6):

sync.o sync.o 26.04.2013 12:40:43

Отличная статья, спасибо!

Ответить

malina95 malina95 26.04.2013 23:46:35

Согласен, было-бы круто увидеть рабочий класс ооп для обработки ошибок в крупных приложениях, полезная штука эта обработка...

Ответить

shamil shamil 30.04.2013 19:03:09

вот я встроил этот код и посыпались ошибки на е-майл.хотя все и работает,правда регистрация на телефон не приходит.вот вопрос,как их исправлять ?В основном на сессии $_SESSION ,воощето только на них Undefined index: error_login (8)

Ответить

Admin Admin 30.04.2013 20:13:10

Данное замечание означает, что Вы обращаетесь к индексу в сессии, который не существует. Прежде чем обращаться, нужно проверить его на существование с помощью isset().

Ответить

shamil shamil 30.04.2013 22:31:23

с этим кодом я наверное неправильно проверяю,как с ним проверять?яж его в functions.php разместил как нуб.его наверно просто запускать надо?

Ответить

Admin Admin 01.05.2013 10:48:28

Данный код без вызовов будет присылать только синтаксические ошибки, которые PHP будет сам указывать. А чтобы он присылал те ошибки, которые PHP сам не напишет, вот тогда нужно и вызывать через trigger_error.

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.