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

  • 17.05.2017
  • 2 435
  • 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 рабочих дня.