PHP getopt $ longopts - обязательно + логическое значение - PullRequest
0 голосов
/ 23 июня 2019

Может кто-нибудь объяснить, пожалуйста, как PHP обрабатывает параметры getopt () $ longopts?Документация говорит, что могут быть определены обязательные и дополнительные параметры.Но я не понимаю, что это значит требуется, если это не требуется.Если я напишу этот код:

getopt(null, ['lang:', 'optional'])

Я ожидаю, что отсутствующий параметр --lang выдаст мне ошибку.Я что-то пропустил?Также я не понимаю, как отправить логическое значение ИСТИНА / ЛОЖЬ в сценарий.

1 Ответ

1 голос
/ 23 июня 2019

Это значение параметра, которое является обязательным или необязательным, а не сам параметр.

Обязательно означает, что вы должны передать значение после параметра

$program --lang en

, в то время как

$program --lang

- это ошибка.

Если это необязательно, значение может быть или не быть предоставлено.

Если ваш параметр вообще не ожидает значения, это вашответственность за выход с ошибкой.

Если вам нужно, чтобы параметр всегда присутствовал, вы также должны проверить, присутствует ли этот параметр после вызова getopt.

...