laravel を使用したことのある学生は、依存関係の挿入と自動読み込みについてよく理解している必要があります。たとえば、クラスをカスタマイズし、クラス オブジェクトをインスタンス化するインターフェイスを渡す場合、必要なのはそれだけです。これをAppServiceProviderに追加する必要があります。追加するだけで、laravelの外部でPHP-DIを使用してこれらのタスクを完了できます。
依存性の注入は比較的単純な概念です。理解するには次の例を見てください。
<?phpuse App\User;class UserController{ protected $user; public function __construct (User $user) { $this->user = $user; }}
次に、 UserController User クラスによっては、インスタンス化にこれが必要になる場合があります。
new UserController(new User)
laravel では、コードは次のようになります (冗談です)
new UserController
まず、PHP-DI コンテナを使用してクラスを管理します。これは簡単な例である PHP-ID-example で、簡単な実装は次のとおりです http://rrylee.github.io/2015/09/23/laravel-container/#section-3
依存性注入やコンテナなどのいくつかの概念を理解した後、公式が Symfony2、Slim3 およびその他のフレームワークに関する詳細なチュートリアルを提供しています。自分で参照することもできます。
Slim 独自のコンテナと併用すると非常に便利です。
laravelでは、php5.5が提供するマジックキーワードであるUser::classという書き方があり、クラスのフルネーム(return)を取得するために使用されます。文字列)、例
<?phpuse App\Foo;echo Foo::class; // App\Foo