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

  • 17.05.2017
  • 1 305
  • 0
  • 18.03.2019
  • 1
  • 1
  • 0
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 не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.