あなたは例えばインスタンスとしてLaravelにオブジェクトをバインドすることができ、あなたはこのようなものを使用して、オブジェクトのインスタンスを作成することができオブジェクトをサービスプロバイダからバインドします。 Laravel
に付属のApp\Providers\AppServiceProvider
を使用できます。したがって、この場合には、あなたはこのような何かを行うことがあります。
// Import the dependencies using "use", omitted here
class AppServiceProvider extends ServiceProvider {
public function boot()
{
// ...
}
public function register()
{
$object = new MyObjectClass();
$this->app->instance('myObject', $object);
// Share the instance globally in all views
view()->share('myObject', $object);
}
}
後で、インスタンスを取得するために$object = app('myObject')
を使用することができますし、グローバルビューでそれを使用したい場合は、アクセスできるように、あなたはview()->share('myObject', $object)
を使用することができます任意のビューからオブジェクトを直接入力します。$myObject
インスタンス変数。アイテムをコンテナにバインドする他の方法もありますが、この方法はあなたのニーズを満たしています。詳細については、マニュアルを参照してください。
あなたのシェアをありがとう。私は今コントローラーからそれを得ることができます。アクションからインスタンスを更新するにはどうすればよいですか? "set"のようなもの新しいインスタンスがアプリケーションオブジェクトに更新される – user3094745
おそらく、単にサービスプロバイダに行ったように、インスタンスをcontaainerに再バインドするだけです。利用可能な方法については、[api](https://laravel.com/api/5.2/Illuminate/Container/Container.html)のリファレンスを確認してください。 –
私は前にそれをしましたが、コントローラからアプリケーションコンテナにアクセスする方法についてのガイドはありません。任意の提案 – user3094745