Использовать объекты из конструктора в других методах

#php #laravel #laravel-4

#php #laravel #laravel-4

Вопрос:

В моем приложении Laravel у меня есть несколько объектов (user, products, …), которые мне нужны во всех методах в моем контроллере.

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

Как я могу это сделать? Я попробовал это, и, если я не сохраню значения в СЕАНСЕ, они недоступны за пределами конструктора.

Ответ №1:

Вы должны сохранить их как свойства объекта:

 class MyClass {

  private $user;

  public function __construct(){
    // load your objects here
    $this->user = User::find(1);
  }

  public function someFunction(){
    // use the objects here
    echo $this->user->name;
  }
}