it-blog.club
Вложенные объекты PHP

Вложенные объекты PHP

При создании нового класса или доработке существующего, мы привыкли использовать члены класса как массивы или же как простые переменные.


class q {
    public $a = 1;
    public $b = array(
        'a',
        'b'
    );
}

Но член объекта так же может содержать и другой объект. Выходит, что второй, будет считаться вложенным.

Ниже представлен пример подобного вложения объектов.


class q {
    
    public $a;
    
    function f() {
        return $this->a + 5;    
    }
}

class w {
    
    public $cl;
    public $result;
    
    function init($num) {
        $this->cl = new q;
        $this->cl->a = $num;
        $this->result = $this->cl->f();
    }
    
    function get() {
        $arResult = array(
            'CL' => $this->cl,
            'RESULT' => $this->result
        );
        return $arResult;
    }
}

$var = new w;
$var->init(2);
echo $var->cl->f().'<br>';
echo $var->cl->a.'<br>';
print_r($var->get());

Как видно из примера мы создали новый экземпляр класса Q в переменной $cl класса W. Тем самым класс Q оказался вложенным.

Результатом выполнения данного скрипта будет нечто подобное:

7
2
Array
(
    [CL] => q Object
        (
            [a] => 2
        )
    [RESULT] => 7
)

При разборе вложенных объектов, в данном примере необходимо обратить внимание на строки:


echo $var->cl->f().'<br>';
echo $var->cl->a.'<br>';

Тут мы обращаемся к функции и переменной объекта Q который вложен в объект W.


it-blog.club 456
Автор: Ярослав Хмель


Если Вам понравилась статья, то можете поддержать блог переведя N сумму на кофе авторам или оплату хостинга!
В любом случае спасибо! А так же не забывайте про группу в ВК
ПОИСК ПО САЙТУ
Поддержать