我是对象的新手并且有一些基本的了解,但在从特定类型的节点获取数据方面苦苦挣扎.
这个:
$test->broadcast_data
Run Code Online (Sandbox Code Playgroud)
返回:
object(threewp_broadcast\BroadcastData)#1599 (5) {
["id"]=>
int(49663)
["blog_id"]=>
int(1)
["post_id"]=>
int(38863)
["dataModified":"threewp_broadcast\broadcast_data":private]=>
bool(true)
["data":"threewp_broadcast\broadcast_data":private]=>
array(2) {
["version"]=>
int(2)
["linked_children"]=>
array(3) {
[2]=>
int(18557)
[3]=>
int(8097)
[4]=>
int(1768)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过以下方式获取ID:
$test->broadcast_data->id
Run Code Online (Sandbox Code Playgroud)
但是我如何获得linked_children数组并将其分配给变量.冒号和斜线"data":"threewp_broadcast\broadcast_data":private让我失望.
谢谢
该物业的名称是data.您所看到的冒号和斜线不属于该类的属性.
"data":"threewp_broadcast\broadcast_data":private
Run Code Online (Sandbox Code Playgroud)
该threewp_broadcast\broadcast_data代表该财产属于命名空间和类和:private该方法data属性private,因此你不能没有一个类的方法访问它.
您可以查看类文件以查看是否有类似函数getData()将返回私有属性的值.
例如,类如下所示:
namespace A;
class B{
private $test;
}
Run Code Online (Sandbox Code Playgroud)
转储它会产生以下结果:
object(A\B)#1 (1) {
["test":"A\B":private]=>
NULL
}
Run Code Online (Sandbox Code Playgroud)
如您所见"test":"A\B":private,不是该物业的名称.
在查看类threewp_broadcast\broadcast_data之后,有一个名为的函数getData(),您可以这样做:
$test->broadcast_data->getData()['linked_children'];
Run Code Online (Sandbox Code Playgroud)
或者只是使用get_linked_children()该类提供的功能:
$test->broadcast_data->get_linked_children();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |