問題タブ [laminas]
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.
php - Laminas: クラス内の DB アダプターのインスタンスを取得する (インジェクション?)
私はラミナに比較的慣れていないので、ラミナでどのように処理する必要があるかが非常に複雑に見えます。私の場合、DB アダプターのインスタンスが必要です。
プロジェクトは次のようになります。
メール クラスのインスタンスを (ポスト リクエストの場合に) 作成する IndexController (およびファクトリ) があり、そのメール クラスは MailQueueTable にデータを追加することになっています。しかし、MailQueueTable で DB アダプターを取得する方法がわかりません
ソースコードは次のとおりです。
IndexControllerFactory.php
IndexController.php
メール.php
MailQueueTable.php
MailQueue テーブルコードは、私が読んだチュートリアルに基づいて、コンストラクターなどに関するものです。ご覧のとおり、コンストラクトにはアダプターが必要です。しかし、この時点でアダプターを取得する方法がわかりません。
今まで読んだ限りでは、インデックス コントローラー ファクトリに DB アダプターを挿入する必要があります。次に、インデックス コントローラーのアクションから新しく作成されたメール インスタンスに挿入し、そこから MailQueue テーブルに挿入する必要があります。
これが正しい解決策だとは思いません-ラミナを使用する前に、私はただ書くことができました
global $DB;
そして、DBを利用できるようにしました。
php - Laminas / Zend FrameworkにSQLテーブルを注入する - これは正しい方法ですか?
私はおそらくラミナの理解に問題があるか、単に複雑すぎるのかもしれません:-)誰かがこれに光を当ててくれることを願っています...
IndexController、IndexController Factory、および 2 つのテーブル (ユーザー、写真) があります。
テーブルはすべて AbstractTableGateway の拡張です。
UserTable.php
PhotosTable.php
私の IndexController では、上記の UserTable と PhotosTable を必要とする Gallery-Class のインスタンスを作成しています。
次のように、UserTable と PhotoTable を にIndexControllerFactory.php
挿入IndexController.php
し、両方を Gallery クラスに挿入する正しい方法です。
IndexControllerFactory.php
IndexController.php
ギャラリー.php
私の主な質問は、上記のコードは正しいですか? テーブルを挿入することが本当に必要ですか
- Factory から IndexController へ
- IndexController から Gallery クラスへ
ギャラリークラスのメソッドで最終的に「それらを使用」できるようになるまで。
やっと使えるようになるまでコードが多そう!?
php - ラミナ - テンプレート「xxxxxxx」をレンダリングできません。リゾルバはファイルに解決できませんでした
このプロジェクトは、Zend Frame work 2 から Laminas に手動で移植されました。ここでの問題は、module.config.php が、動作している他のモジュールと同じ方法でセットアップされていることです。ただし、このエラーが発生しています。ファイルのスペルミスや欠落などの通常の原因を確認しましたが、他のモジュールは同じルート名を使用していません。ビュー マネージャーに影響を与える Laminas の別の部分はありますか?
modul.config.php のセットアップは以下のとおりです。
''' 名前空間 ProjectTaskDocument;
'''