Zend と MongoDB を統合しようとしています。もうすぐそこに着くと思いますが、タスクを完了するには助けが必要です。私は zend と mongo の両方を初めて使用しますが、PHP と MySQL についてはある程度の経験があります。
いくつかの詳細:
私の Zend プロジェクトは、 http://framework.zend.com/manual/2.0/en/user-guide/skeleton-application.htmlのスケルトン チュートリアルに基づいています。これは私のコンピューターでは問題なく動作しますが、mysql ベースです。
MongoDB をインストールしました。コマンド ラインで nosql を記述でき、PHP スクリプトで MongoClient オブジェクトをインスタンス化できるため、これらが機能し、相互に通信しているように見えます。
mysql の代わりに mongo を使用したいので、Doctrine を実装しました。私はDoctrineが何をするのか分かりません.Zendでmongoコマンドを実行する方法を見つけるためにいくつかの検索を行ってきました. これらの事実から、私は自分が何をしているのかわからないという結論に達しました。
だから私の質問の詳細に:
- 私が理解しているように、どこかでmongoオブジェクトをインスタンス化する必要があります。もしそうなら、インスタンス化を zend のどこに置くべきですか?
- そうでない場合は、モデル クラス内からさまざまな検索/保存コマンドを実行するために、おそらく mongo オブジェクトの既存のインスタンス化が必要です。その場合、既存の mongo オブジェクトにアクセスするにはどうすればよいですか?
ご協力いただきありがとうございます。明確化のための質問も同様に歓迎します。
明確にするために 2012 年 13 月 12 日に編集されました。
与えられた答えで、私は正しい方向に進んでいるようで、必要なものをさらに明確にすることができます:以下にリンクされているDoctrine Documentationを見ると、ドキュメントマネージャーのインスタンス化がどこで発生するのかまだ不明です. ページが読み込まれるたびに実行される、より一般的な場所に移動することを期待していました。また、私が見つけたチュートリアルのほとんどは、スケルトン アプリケーションとは異なるファイル構造を参照しているように見えるため、特定のものを特定の場所に配置するように指示されている場合、その意味がわかりません。たとえば、ブートストラップ ファイルへの参照を何度も目にしますが、私のブートストラップ ファイルはテスト ディレクトリにあるだけです。
私の質問は次のとおりです。
- コレクション内のすべてのドキュメントを単純に print_r したい場合、indexAction 関数 (正しい URL に移動すると確実に応答する) にどのコードを追加する必要がありますか?
- 他のコードを他の場所に追加する必要がありますか? その場合、どこに、どのコードを追加しますか?