PHP Class - получить текущий запрос - PullRequest
0 голосов
/ 18 декабря 2018

Мой первый вопрос в stackoverflow:

У меня есть класс, который загружает данные JSON.

Вот класс:

class example {
public $url = array(
    "location" => "http://www.example.com/location/?{city}.json",
);
public $location = array();
public function load($url_template = NULL, $params = array(), $overwrite = false) {
    $this->$url_template = $this->load_json(
        $this->build_url($url_template, $params)
    );
}
    public function load_json($url) {
        return json_decode($url);
    }
}

Снаружи я использую:

    $example = new example();
    $example->load("location", array(
    'city' => 'Boston',
    ));

Когда я делаю

echo $example->country->name;
echo $example->blabla->blub;

, я хочу получить информацию типа

$ example-> country-> name и возвращаемое значение - "Бостон""

$ example-> blabla-> blub был вызван, но свойство" blabla "не существует, а свойство" blub "также не существует, поэтому возвращаемое значение равно" n / a "

в классе.

Спасибо, harry_bo

1 Ответ

0 голосов
/ 18 декабря 2018

Первое, что вы можете сделать, это проверить ввод JSON (если у вас есть схема).

Подробнее о схеме JSON: https://json -schema.org /

Дополнительная информация здесь: Проверка схемы JSON с PHP

Конечно, вы можете делать все на PHP и проверять каждую возможную запись.

if (isset($class->country)) {
  if (isset($class->country->name) ) {
      // validate this is really a country
  } else {
   // no country name set ...
  }
  // .. more validation ..
} else {
 // no country given
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...