$sm
何型ですか?
ModelAlbumTableGateway::class
这个怎么理解?整个项目中并没有出现AlbumTableGateway
这个类,只有AlbumTable
このクラス
PHP中文网2017-05-16 16:45:14
あなた自身も同様の問題を抱えています。翻訳は以下、翻訳は次のとおりです。
出典: Zend Framework 2 ユーザーガイドの AlbumTableGatewayこれを考える最も良い方法は、ServiceManager の get() メソッドがクラス名ではなくキー値を取るということです。キー値は、クラス インスタンスが返されるものにマップする必要があります。
キーが invokables セクション内にある場合、ServiceManager は、クラス名であると想定して、キーが指す文字列をインスタンス化しようとします:
リーリー
キーがfactoryセクション内にある場合、ServiceManagerはキーが指すコールバックを実行し、オブジェクトインスタンスが返されることを期待します:リーリー
一般に、単にクラスをインスタンス化する以上のことを行う必要がある場合、ファクトリを使用します。通常は、別の依存関係を使用してクラスを設定する必要があります。クラスをインスタンス化する必要があるだけの場合は、呼び出し可能オブジェクトを使用します。
最高の样想:ServiceManager
の get()
メソッドは、 クラス名
键 を受け取ります。 >、このボタン
は、invokables
またはfactories
内の要素を逆照合し、構築されたオブジェクトを返します。 code> は invocables
の領域にあり、一致する種類を例示します。
リーリー
この ServiceManager
的get()
方法接受一个键
而不是一个类名
,这个键
会去匹配invokables
或factories
中的元素并返回一个创建的对象。
如果这个键
是处于invocables
関数が 1 つのオブジェクトを例示する場合は、オブジェクトが返されます。
リーリー
一般说,只在当你不仅是实例化一既有类,而是去构建一有他依赖的类的時才会使用键
处于工厂里,就会通过键
指向的callback
就好了