問題タブ [zend-framework3]

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 投票する
2 に答える
1459 参照

php - ZF3/2 - EVENT_DISPATCHリスナー内でスローされた例外をキャッチする方法は?

EVENT_DISPATCH リスナー内でスローされた例外を処理する方法はありますか?

ForbiddenException403 を設定する、JSON を返すなどの一般的な方法があります。すべてのロジックはMvcEvent::EVENT_DISPATCH_ERRORリスナーに関連付けられています。ForbiddenExceptionディスパッチエラーリスナー内のリスナーに転送するにはどうすればよいですか? ディスパッチリスナーからスローすると、キャッチされていない例外エラーが発生します...

それを乗り越えるための助けやヒントをいただければ幸いです。

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

php - Zend フレームワーク 3 チュートリアル

Zend Framework 3 のチュートリアルを試していますが、詳細部分で関数を「編集」することに行き詰まっています(ブログ ケース)

ブログ メッセージを編集しようとすると、編集フォームに元のメッセージが表示されません。元のメッセージをフォームにバインドできなかったようです。

サンプルコードをすべてコピーしました。何が悪いのかわかりません。ちなみに、私の追加機能と削除機能は正常に機能します。

誰でも私を助けることができますか?

editActionチュートリアルの方法:

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

php - Zend3 でサービス マネージャーを使用する正しい方法

Service Manager で Zend 3 のドキュメントを読んでいたところ、この問題が発生しました。

ドキュメントでは、コントローラーに DI がある場合は、module.config.phpファイルを更新してコントローラー キーを追加しInvokableFactory::class、カスタム ファクトリ クラスではなくコントローラーを呼び出して、最初のコントローラーが使用するクラスの配列を含む別のキー service_manager を追加する必要があると記載されています。

わかりましたので、私はそれをします:

module.config.php

Controller1Factory.php

しかし、Controller2 と Controller3 のコンストラクターにも DI があるというエラーが発生したため、モデルに到達するまで、新しいカスタム ファクトリなどを作成します。

また、モデルには、zend ネイティブであるコントローラーに注入される依存関係もあり\Zend\Db\TableGateway\TableGatewayInterface、conf ファイルを再度編集して追加する必要がありますTableGatewayInterface

そして、それは間違っています。この方法でネイティブの zend クラスとサービスを注入することを強制されるべきではありません。

それで、私は何を間違っていますか?

0 投票する
0 に答える
763 参照

php - それ自体および別のモデルとの関係を持つ Zend Framework 2/3 モデル

最初に、次の 2 つのスタックオーバーフローの質問を読みましたが、実際には答えが得られませんでした。

私のアプリケーションには、多数のプロパティを持つ従業員データベース テーブルがありますが、現在最も興味深いのは、外部キーであるmanager_idとです。bank_id

  • manager_id別の従業員への外部キーです(従業員が1人のマネージャーを持つことができると想像できるように)
  • bank_idbank従業員は銀行口座を持つことができるため、呼び出された別のモデル/データベーステーブルへの外部キーです;-)

私のEmployeeTable.phpファイルには、データベースの結果を取得する魔法のメソッドがあります。

従業員を 1 人獲得するには、次のようにします。

しかし、SQL 結合がなければ、返された従業員オブジェクトには manager_id と bank_id しかありません。

質問: 必要な情報を取得するためのベスト プラクティスは何ですか?

これまでのところ、次の 2 つの考えがあります。

初め

が空でない場合は$row、たとえばbankTable、メソッドを持つオブジェクトを (依存性注入を介して)呼び出す必要がありますgetBankById。次に、getter/setter を使用してEmployee.phpモデルを拡張し、メソッド内のステートメントの前に次のようにします。$bankreturngetEmployeeId

manager_idしかし、現在使用しているのと同じメソッドを呼び出すため、これを行う再帰ループが怖いです。

2番

または、左結合でメソッドを拡張してgetEmployeeById、次のように銀行テーブルからデータを取得する必要があります。

残念ながら、結合された列にエイリアス名を付ける必要があります。それ以外の場合idは、従業員から銀行 ID などで上書きします。

この種の sql ステートメントの後、結果を抽出してプロパティを値として取得し、それらをハイドレートすることがわかります。

水分補給は次のようになります。

この結果、クリーンなemployeeモデル (余分なエイリアス列なし) と、別の従業員 (マネージャー) と銀行のオブジェクトである 2 つの新しいプロパティが追加されました。

しかし、これはかなり過負荷に見えます...

ここまで読んでくれてありがとう - ヒントやアドバイスがあれば、大歓迎です!

編集

私はEmployeeTableFactory次のことを行うように編集しました(水分補給について):

私はすでに抽出物を使用していたので、 HydratorInterfaceEmployeeHydratorを実装するように変更しましたが、メソッドに必要なインターフェイスと一致するようになりました。resultSetPrototype->setHydrator()

次のコードでは、完成した従業員オブジェクトと関連するすべての外部キーオブジェクトが既にあるため、メソッドは非常に簡単になってgetEmployeeByIdいます( my によるEmployeeHydrator

私はこの実装が好きです

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

php - ZF3 でモジュール構成を取得する

Zend Framework 3 のコントローラーからモジュール構成を取得したいのですが、検索したところ、ZF2 でこれを行う標準的な方法は、

の構成にアクセスしますmodule.config.php。ただし、方法がないため、これは ZF3 では機能しませんgetServiceLocator()

これを達成する標準的な方法は何ですか?

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

zend-framework2 - ZF3 を使用したモジュール ブートストラップでヘルパー マネージャーにアクセスできない

を使用して、これを行うZend Framework 2ことにアクセスできます。ViewHelperManager

を使用して新しいプロジェクトを開始して以来、これはモジュールで機能しなくなったようですZend Framework 3

ここで何をすべきかよくわかりません。

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

zend-framework - レンダーイベント中にphprendererに変数を割り当ててもレイアウトに渡されない

イベント中にビューレンダラーに変数を割り当てようとしていますが、render event値を生成していません。

に添付したイベントがありrender eventますApplication Module。This is a Zend Framework 3 Application中に呼び出されるメソッドもありますがrender event operation 、フレームワークが非常に新しいため、より公開するために Zend Framework 2 にタグを付けました。ここにあります

ご覧のとおり、クラスgetPhprenderer()を使用してメソッドを呼び出しています。DesignHandlerこのメソッドは のインスタンスを返します\Zend\View\Renderer\PhpRendererいずれにせよ、この後、変数をレンダラー オブジェクトに割り当てます。

これに続いて、in my layout - application/view/layout/layout.phtml私はこれを行います:

これにblank values入ります。

ここで間違っていることは何ですか?

現在の結果は次のとおりです。

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

zend-framework - ZF3 MVC Zend\Authentication as a Service Factory

ZF2Userモジュールを ZF3 MVC に適合させようとしています。ユーザーが認証されているかどうかを確認するために、すべての要求 (つまり、ページの読み込み) に対してクラスonBootsrap内の関数で呼び出される認証サービス マネージャーがあります。Module

serviceLocatorとはもう利用できないのでServiceAware、 を作成しようとしていますが、AuthenticationServiceFactoryまだ成功していません。私が間違っていることと、ZF3でどうすればそれができるかについて何か考えがありますか?

module/User/config.module.config.phpここに私のファイルの簡略版があります

ここに私のmodule/User/src/Service/AuthenticationServiceFactory.phpファイルがあります

ここに私のmodule/User/src/Module.phpファイルがあります

何か案は ?