如何在php中使用类/对象

时间:2014-07-01 05:33:20

标签: php class oop

我很难理解课程,我对如何设置我应该存储我的数据库的信息有点迷失,所以我可以在需要时调用它。

我的班级看起来像这样:

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

我哪里出错了,我似乎很难理解课程。

1 个答案:

答案 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
        )

)

Example

允许这样访问:

echo $db->data['users']['table'];