我很难理解课程,我对如何设置我应该存储我的数据库的信息有点迷失,所以我可以在需要时调用它。
我的班级看起来像这样:
class db
{
function data()
{
$t = new stdClass;
$t->users = new stdClass;
$t->users->table = 'user_table';
$t->users->userid = 'userid';
}
}
$db = new db();
$data = $db->data;
echo $data->users->table;
不幸的是我得到了:
Undefined property: db::$data
我哪里出错了,我似乎很难理解课程。
答案 0 :(得分:2)
您的问题是,您尝试访问data
作为属性,但这是您班级中的一种方法。你想要的是这样的:
<?php
class db
{
public $data;
function data()
{
$this->data->users = new stdClass;
$this->data->users->table = 'user_table';
$this->data->users->userid = 'userid';
}
}
?>
这将允许您执行以下操作:
<?php
$db = new db();
$db->data();
echo $db->data->users->table;
?>
脚注 您可能最好将配置设置为数组:
function data(){
$this->data = array(
'table' => 'user_table',
'userid' => 'userid',
);
}
允许您访问它,如下所示:
$db = new db();
$db->data();
print_r($db->data);
返回:
Array
(
[users] => Array
(
[table] => user_table
[userid] => userid
)
)
允许这样访问:
echo $db->data['users']['table'];