問題タブ [servicemanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
40 参照

php - Zend Framework 2 のどの部分をカスタム クラスに簡単に置き換えることができますか?

Zend Framework 2 は、フレームワークで提供される代わりにカスタム クラスを使用する可能性を提供しますinvokables。例ViewHelper:

したがって、すべてinvocableの s (特にViewHelpers) を置き換えることができます。ほかに何か?/invokablesを使用してカスタムクラスに置き換えることができるクラスのタイプのリストはありますか?ServiceManagerEventManager

0 投票する
1 に答える
960 参照

zend-framework2 - Zend Framework 2 でフォーム フィールドセットのサービスを使用するには?

Zend\Form\Formネストされたフィールドセット ( ) を含むフォーム ( )Zend\Form\Fieldsetがあります。構成は、フォーム コレクション チュートリアルの構成と非常によく似ています。

MyForm

FooFieldset

動作しますが、fieldset クラスには 2 つの依存関係があります。注射したい。それを行うために、私は を作成し、byFooFieldsetFactoryを拡張し/module/MyModule/config/module.config.phpました:

工場は単に無視されています。サービスロケーターは最初に名前空間でクラスを見つけようとし、何も見つからない場合にのみ and を調べinvokablesますfactories。わかった。次に、エイリアスを作成しました。

Storage\Form\Fieldset\FooFieldset...そして、フォームクラスの代わりに使用しようとしました。しかし今、私は例外を受け取ります:

Zend\Form\FormElementManager::get は Storage\Form\Fieldset\Foo のインスタンスを取得または作成できませんでした

私もこれを直接試しました:

効果なし、同じエラー。

そして、これも機能しませんでした (同じエラー):

したがって、フィールドセットのサービスの参照は機能しないようです。それとも私は何か間違ったことをしていますか?

フォームフィールドセットのサービスを使用するには?


アップデート

いくつかのデバッグで、Fooフィールドセット ファクトリが のfactoriesリストに追加されていないため、見つからないことがわかりましたZend\Form\FormElementManager。の場所は次のZend\Form\Factoryとおりです。

ここに画像の説明を入力

だから私の設定

は無視されます。これを修正する方法は?


UPDATE追加情報、Formオブジェクトの作成方法。

/module/Foo/config/module.config.php

/module/Foo/src/Foo/Form/Factory/MyFormFactory.php

/module/Foo/src/Foo/Controller/Factory/MyControllerFactory.php

0 投票する
1 に答える
21 参照

zend-framework2 - 呼び出し可能なサービスの構造に動的データを渡す

アプリケーション構成に次のinvokables設定があります

だから理論は私が呼び出すことができるということです:

$userMdl = $e->getApplication()->getServiceManager()->get('DbModel\User');

結果は class のインスタンスになりますApplication\DbModel\UserModel。OKこれは素晴らしいです。私の質問は次のとおりです。

私のユーザー モデルでは__construct、モデルにデータベース データをロードするために、IDの整数を に渡す必要があります。

明らかに、ID を渡す機会がないため、モデルを呼び出し可能なものとしてこれを行うことはできません。

supply an argument such as a user id for my situationオブジェクトのインスタンス化で使用できるファクトリを作成する方法はありますか。

An example would be using it in a controller to get a model based on a get request for a user based on id

0 投票する
2 に答える
1733 参照

php - ZF3 - ファクトリのモジュール クラスでパラメータを指定して関数を呼び出す

私は ZendFramework3 の初心者であり、ファクトリ (モジュール クラス内) の serviceManager よりも多くの引数を使用して関数を呼び出すことができるかどうかを知りたいだけです: (引数の隣に引数を渡すことは可能$smですか?)