由其他名称空间元素生成的PHP访问对象[关闭]

问题描述 投票:1回答:1
我在一个命名空间中有一个类,可以通过从另一个命名空间导入的另一个类来加载json文件

use *\*\file\json_datas as file;

然后在一种方法中,我通过实例化文件类来加载文件而没有问题

private function load_json(){ $this->settings["json"] = new file($this->settings["file"],false,false); $this->content["json"] = new file($this->content["file"],false,false);

至此,$ this-> content [“ json”]的输出返回我期望的结果,或者

*\*\file\json_datas Object ( [file] => en.json [name] => en [extension] => json [folder] => #### [fullpath] => /#####/ [datas] => stdClass Object ( [head] => stdClass Object ( [title] => Array

但是当我想如下直接引用头部时,就会出现我的问题

$this->head =& $this->content["json"]->datas->head;

都不

$this->head =& $this->content["json"]["datas"]["head"];

$ this-> head的输出为空,并且(在E_ALL处有error_reporting)我没有收到错误/通知记录。有什么主意吗?
php oop properties namespaces access
1个回答
0
投票
我发现了原因。语法没有问题,只是将文件类的datas属性定义为private。我是新来的,我不知道是否应该离开该线程,以防万一它对其他人有用...
© www.soinside.com 2019 - 2024. All rights reserved.