PHP: Делаем один из аргументов пользовательской функции необязательным

Пример предупреждения 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)

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

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *