2016-11-20 3 views
1

Я начал использовать ООП в PHP впервые, и я не знаю, как достичь следующую структуру для моих переменных:Как создать суб-переменные в PHP класс

$this->myData->generalData->title; 
$this->myData->generalData->description; 
$this->myData->amount; 
$this->myData->addNewData(); 

До сих пор, что я достижение является нормальной переменной внутри класса:

$this->variablename 

Я попытался сделать этот код, но он не работает вообще:

$this->CDNE = "CDNE"; 
$this->CDNE->FOLDER = "hello man"; 

Можете ли вы объяснить мне, как все это работает?

+2

Ну, очевидно, свойство класса (а «переменный внутри объекта») также может удерживать объект, в котором содержится произвольный контент ... Итак, в вашем примере '$ this-> myData' может быть объектом другого класса, содержащего свойства' generalData' и 'amount', а также методы могут быть реализованы в этом объекте, ... – arkascha

+0

How сделать это? – Coder

+1

Как вы назначаете объект переменной? По заданию: '$ var = $ object'. Или непосредственно путем создания экземпляра: '$ var = new myClass'. Это, очевидно, также возможно внутри объекта, например внутри конструктора класса: '$ this-> var = new myClass;'. – arkascha

ответ

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(); 
    } 
} 
+0

Спасибо, теперь я понял, как это работает. :) – Coder

+0

@PHPLover Добро пожаловать – nanocv

+0

Я просто думал об этом примере, который вы мне дали ... Что касается производительности, то что лучше: один класс со всеми переменными конфигурации или модульными классами (около 4-5)? – Coder

Смежные вопросы