У меня есть проект, который передает JSON между внешним и внутренним интерфейсом.Таким образом, внешний интерфейс PHP сгенерирует оператор { "command" : "getuser", "parameters" : { "userid" : 1 } }
и отправит его бэкэнду.Затем серверная часть выполняет
if ($command == 'getuser') {
validate($parameters['userid']);
if ($this->valid) { <<get the user>> }
}
Проверка проверяет переменную и устанавливает $this->valid
.При необходимости создается сообщение об ошибке.Я хочу создать сообщение об ошибке на случай, если внешний интерфейс перейдет в { "command" : "getuser", "parameters" : "" }
.В этом случае $parameters['userid']
никогда не устанавливается, и validate () будет жаловаться, что ему передана неустановленная переменная.
Я предложил два решения.Первое решение - установить $parameters['userid'] = "unset"
перед загрузкой в JSON, а затем проверить его в валидаторе.Другое решение состоит в том, чтобы использовать
if (isset($parameters['userid'])) {
validate($parameters['userid']);
}
else {
echo("Error"); }
Было бы хорошо, если бы validate()
мог самостоятельно определить, существует ли переменная.Есть ли более изящный способ, которым я должен делать вещи?