<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 2.0

PHP и MySQL с Нуля до Гуру 2.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 11 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

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

Почти к каждому уроку идут упражнения.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

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

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

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

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

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

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

Что нового в PHP7.1: новые сообщения об ошибках.

Что нового в PHP7.1: новые сообщения об ошибках.

Всем привет! В этой статье мы рассмотрим, как изменились сообщения об ошибках в PHP 7.1.

Как известно, если мы что-то делаем не так в языке программирования PHP, то получим ошибку. Например, если мы не передали в функцию требуемый аргумент, то у нас будет Fatal Error. Однако эти ошибки недостаточно информативны и их сложно воспринимать. Поэтому в PHP 7.1 они были изменены и улучшены. Как говорится, они стали более User Friendly.

Давайте рассмотрим обозначенный выше пример:

class User {
  public function avatar($size) {
   return 'avatar.jpg?s='.$size;
  }
}

$user = new User;
echo $user->avatar();

Как и говорилось выше, в наш метод avatar требуется передать размер изображения, но мы этого не делаем. В PHP 7.0 мы получим следующее сообщение:

Warning: Missing argument 1 for User::avatar(), called in ...

Полностью приводить сообщение я не стал, т.к. в этом нет особого смысла. Все, что нас интересует, это то, что у нас пропущен 1 аргумент для метода avatar() в классе User.

Если мы этот же код запустим в PHP 7.1, то получим более понятное и информативное сообщение об ошибке:

Fatal error: Uncaught ArgumentCountError: Too few arguments to function User::avatar(), 0 passed in ... and exactly 1 expected in ...

Как вы можете видеть, здесь написано, что передано слишком мало аргументов в метод avatar() класса User, 0 прошло на такой-то строчке(где надо было передать аргументы) и точно 1 ожидался на такой-то строчке(где написан сам метод).

Что интересно, если мы добавим еще один параметр и установим для него значение по умолчанию

class User {
  public function avatar($size, $default = 'default') {
   return 'avatar.jpg?s='.$size;
  }
}

$user = new User;
echo $user->avatar();

то сообщение изменится. Оно будет выглядеть так:

Fatal error: Uncaught ArgumentCountError: Too few arguments to function User::avatar(), 0 passed in ... and at least 1 expected in ...

Здесь написано то же самое, что и раньше, но слово exactly заменено на at least, т.е. теперь сообщение говорит нам о том, что не точно один аргумент ожидается, а хотя бы один. Это произошло из-за того, что у нас для второго параметра установлено значение по умолчанию, следовательно, мы можем его не передавать, и тогда будет использоваться именно оно.

Помимо того, что сообщения теперь стали более понятными и информативными, они еще и выглядеть стали красивее!

А на этом сегодня все. Спасибо за внимание!

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

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