PHP类-获取当前请求

时间:2018-12-18 15:32:03

标签: php class properties

我在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被调用,返回值为“ Boston”

     

$ example-> blabla-> blub被调用,但属性“ blabla”不存在   并且属性“ blub”也不存在,因此返回值为   “不适用”

在课堂上。

谢谢你, harry_bo

1 个答案:

答案 0 :(得分:0)

您可以做的第一件事就是验证JSON(如果有模式)输入。

有关JSON模式的更多信息: https://json-schema.org/

此处有更多信息: JSON schema validation with 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
}