【发布时间】:2017-04-04 00:04:59
【问题描述】:
我是第一次在 PHP 中使用 OOP,但我不知道如何为我的变量实现以下结构:
$this->myData->generalData->title;
$this->myData->generalData->description;
$this->myData->amount;
$this->myData->addNewData();
到目前为止,我正在实现的是类中的普通变量:
$this->variablename
我尝试编写此代码,但它根本不起作用:
$this->CDNE = "CDNE";
$this->CDNE->FOLDER = "hello man";
你能解释一下,这一切是如何运作的吗?
【问题讨论】:
-
好吧,显然一个类的属性(一个“对象内部的变量”)也可以持有一个对象,它本身持有任意内容......所以在你的例子中
$this->myData可能是一个对象另一个拥有属性generalData和amount的类,也可以在该对象中实现方法,... -
怎么做?
-
如何将对象分配给变量?通过分配:
$var = $object。或者直接通过实例化:$var = new myClass。这显然在对象内部也是可能的,例如在类构造函数内部:$this->var = new myClass;。 -
为了构建这种结构,我个人会使用关联数组而不是子对象。你可以这样做:
$this->cdne['content'] = "CDNE"; $this->cdne['folder'] = "hello man"; -
使用数组是一个很好的解决方案,但是作为一个初学者我还是想知道如何创建子对象。