2014-09-10 3 views
0

Мне нужна помощь в выяснении чего-то. Это с Laravel 4.2 и это из блог, и нет никакого способа, чтобы связаться с автором или сделать комментарии ..Доступ к объектам, которые являются зависимыми объектами в Laravel 4

http://vegibit.com/what-is-the-ioc-container-in-laravel/

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

$myCar = App::make('Car'); 

Поэтому я хотел бы получить доступ к протекторам объекта Bridgestone.

echo $myCar->Tire->Bridgestone()->tread; 

Это не работает, но это иллюстрирует то, что я пытаюсь сделать. Я пытаюсь напечатать «Performance»

Спасибо ....

ответ

1

Переменные защищены, поэтому попробуйте добавить общественные функции, которые возвращают инъекционные объекты:

class Car { 
    protected $tire; 
    protected $engine; 
    public function __construct(Tire $tire, Engine $engine) { 
     $this->tire = $tire; 
     $this->engine = $engine; 
    } 

    public function tire() 
    { 
     return $this->tire; 
    } 
} 

class Tire { 
    protected $bridgestone; 
    public function __construct(Bridgestone $bridgestone) { 
     $this->bridgestone = $bridgestone; 
    } 

    public function bridgestone() 
    { 
     return $this->bridgestone; 
    } 
} 

Ваш звонок для то будет:

echo $car->tire()->bridgestone()->tread; 
+0

Спасибо, Алекс. Это объяснение мне было необходимо. Теперь это имеет смысл. –