Подключил к SlimPHP библтотеку Eloquent. Получаю обьект с данными базы данных и помещаю этот обьект в контейнер.
1 способ
$container['db'] = function ($container) {
$capsule = new \Illuminate\Database\Capsule\Manager;
$capsule->addConnection($container['settings']['db']);
$capsule->setAsGlobal();
$capsule->bootEloquent();
return $capsule;
};
2 способ
$capsule = new \Illuminate\Database\Capsule\Manager;
$capsule->addConnection($container['settings']['db']);
$capsule->setAsGlobal();
$capsule->bootEloquent();
//pass the connection to global container (created in previous article)
$container['db'] = function ($container) use ($capsule){
return $capsule;
};
В чем здесь отличие? Интересно что во втором варианте я могу написать
$user = User::find(1);
var_dump($user);
А в первом эта запись вызовет ошибку что объекта User не существует. Буду признателен за разъяснение и помощь.