【问题标题】:How to create sub-variables in PHP class如何在 PHP 类中创建子变量
【发布时间】: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可能是一个对象另一个拥有属性generalDataamount 的类,也可以在该对象中实现方法,...
  • 怎么做?
  • 如何将对象分配给变量?通过分配:$var = $object。或者直接通过实例化:$var = new myClass。这显然在对象内部也是可能的,例如在类构造函数内部:$this->var = new myClass;
  • 为了构建这种结构,我个人会使用关联数组而不是子对象。你可以这样做:$this->cdne['content'] = "CDNE"; $this->cdne['folder'] = "hello man";
  • 使用数组是一个很好的解决方案,但是作为一个初学者我还是想知道如何创建子对象。

标签: php oop


【解决方案1】:

只是为了说明我的评论。用子对象来做可能是这样的(一个没有属性初始化的非常基本的例子):

class GeneralData{
    public $title;
    public $description;
}

class MyData{
    public $generalData;
    public $amount;

    function __construct(){
        $this->generalData = new GeneralData();
    }

    function addNewData(){
    }
}

class MainClass{
    public $myData;

    function __construct(){
        $this->myData = new MyData();
    }
}

【讨论】:

猜你喜欢
  • 2016-03-19
  • 2012-04-20
  • 2022-07-31
  • 1970-01-01
  • 2014-06-15
  • 2017-05-13
  • 2012-03-21
  • 1970-01-01
  • 2012-09-02
相关资源
最近更新 更多