PHP: Делаем один из аргументов пользовательской функции необязательным
- Recluse
- 17.05.2017
- 2 435
- 0
- 18.03.2019
- 1
- 1
- 0
- Содержание статьи
Пример предупреждения PHP
Наверное каждого, кто создает свою функцию и дает ей несколько аргументов, причем не обязательно их все используя, раздражал тот факт, что в логах сервера постоянно появляются ошибки. Например начало объявления функции:
function favorite_album($bandname, $genre)
Если вы её будете вызывать без второго параметра, например так:
function favorite_album('Paradise Lost', 'Doom Gothic Metal')
То ничего страшного не предвидится.
Но если вы вызовите её вот так:
function favorite_album('Paradise Lost')
То в логе веб-сервера получите следующее сообщение:
PHP message: PHP Warning: Missing argument 2 for favorite_album(), called in /srv/www/music/profile.php on line 170 and defined in /srv/www/music/function.php on line 39" while reading upstream, client: 192.168.1.2....
Исправление
Чтобы избежать появления таких сообщений, необходимо к аргументу в самом объявлении функции написать следующее: =null
, т.е. привести к следующему виду:
function favorite_album($bandname, $genre=null)
После этого все будет так же работать как обычно, только сообщений с предупреждениями от веб-сервера вы больше не будете получать.
Добавить комментарий