Що нового в php7.1: нові повідомлення про помилки.
Всім привіт! У цій статті ми розглянемо, як змінилися повідомлення про помилки в PHP 7.1.
Як відомо, якщо ми щось робимо не так у мові програмування PHP, то отримаємо помилку. Наприклад, якщо ми не передали в функцію необхідний аргумент, то у нас буде Fatal Error. Однак ці помилки недостатньо інформативні і їх складно сприймати. Тому в PHP 7.1 вони були змінені і поліпшені. Як то кажуть, вони стали більш User Friendly.
Відео: Служба профілів користувачів перешкоджає входу в систему
Давайте розглянемо означений вище приклад:
classUser{
publicfunction avatar($ size){
return`Avatar.jpg? S =`.$ size-
}
}
$ user =newUser-
echo $ user-gt;avatar() -
Як і говорилося вище, в наш метод avatar потрібно передати розмір зображення, але ми цього не робимо. В PHP 7.0 ми отримаємо наступне повідомлення:
Відео: Обробка помилок в PHP7
Warning:Missing argument 1forUser::avatar(), called in...
Повністю приводити повідомлення я не став, тому що в цьому немає особливого сенсу. Все, що нас цікавить, це те, що у нас пропущений 1 аргумент для методу avatar () в класі User.
Відео: ООП в PHP: Обробка виключень Повідомлення про помилки в PHP
Якщо ми цей же код запустимо в PHP 7.1, то отримаємо більш зрозуміле і інформативне повідомлення про помилку:
Fatal error:UncaughtArgumentCountError:Too few arguments to functionUser::avatar(),0 passed in...and exactly 1 expected in...
Як ви можете бачити, тут написано, що передано занадто мало аргументів на метод avatar () класу User, 0 пройшло на такий-то рядку (де треба було передати аргументи) і точно 1 очікувався на такий-то рядку (де написано сам метод).
Що цікаво, якщо ми додамо ще один параметр і встановимо для нього значення за замовчуванням
classUser{
publicfunction avatar($ size, $ default =`Default`){
return`Avatar.jpg? S =`.$ size-
}
}
$ user =newUser-
echo $ user-gt;avatar() -
то повідомлення зміниться. Воно буде виглядати так:
Відео: ОГЛЯД IOS 10.3 Release 14E277: What # 39; s new?
Fatal error:UncaughtArgumentCountError:Too few arguments to functionUser::avatar(),0 passed in...and at least 1 expected in...
Тут написано те ж саме, що і раніше, але слово exactly замінено на at least, тобто тепер повідомлення говорить нам про те, що неточно один аргумент очікується, а хоча б один. Це сталося через те, що у нас для другого параметра встановлено значення за замовчуванням, отже, ми можемо його не передавати, і тоді буде використовуватися саме воно.
Крім того, що повідомлення тепер стали більш зрозумілими і інформативними, вони ще й виглядати стали красивіше!
А на цьому сьогодні все. Дякую за увагу!
- Що нового в php7.1: поліпшення обробки $ this.
- Що нового в php7.1: поліпшення для деконструкції масивів.
- Що нового в php7.1: обнуляє типи.
- Що нового в php7.1: генерація випадкових чисел.
- Що нового в php7.1: робота з групою винятків.
- Як використовувати інтерфейс countable в php.
- Що нового в php7.1: видимість констант.
- Що нового в php7.1: ключове слово void.
- Створення движка на mvc. Робимо можливість редагування і видалення користувачів.
- Pdo. Частина 3.
- Серіалізация об`єктів в php.
- Вивчаємо coffeescript. Функції.
- Reflection api. Reflectionclass.
- Обробка помилок в php
- Використання tpl-файлів
- Основний інструмент при пошуку помилок в коді
- Ооп проти процедурного підходу.
- Tasker - звукове повідомлення при непрочитаних sms або пропущений виклик на андроїд
- Ключове слово let в es6.
- Reflection api. Reflectionmethod.
- Винятки в php