Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP类中创建子变量_Php_Oop - Fatal编程技术网

如何在PHP类中创建子变量

如何在PHP类中创建子变量,php,oop,Php,Oop,我第一次开始在PHP中使用OOP,我不知道如何为我的变量实现以下结构: $this->myData->generalData->title; $this->myData->generalData->description; $this->myData->amount; $this->myData->addNewData(); 到目前为止,我实现的是一个类内的正态变量: $this->variablename 我尝试过执行此代码

我第一次开始在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=newmyclass
。这显然在对象内部也是可能的,例如在类构造函数内部:
$This->var=newmyclass。要构建这种结构,我个人会使用关联数组而不是子对象。您可以这样做:
$this->cdne['content']=“cdne”$这->cdne['folder']=“你好,伙计”使用数组是一个很好的解决方案,但是作为一个初学者,我仍然想知道如何创建子对象。。。就性能而言,什么更好:一个包含所有配置变量的类或模块化类(大约4-5个)?@PHPLover它取决于很多事情。您可以阅读“为什么要使用OOP”文章,如下所示:
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();
    }
}