ホームページ >バックエンド開発 >PHPチュートリアル >Zend フレームワークでのデータ対話にオブジェクト指向を使用する方法
Zend Framework オブジェクト指向フレームワーク
PHP Web サイトは zend フレームワークを使用します。 データを取得するときは、通常、次のように SQL ステートメントを作成し、 fetchAll() メソッドを使用してデータを取得します。「オブジェクトにデータを埋める」という文が理解できません...
上記の意見には同意します
なぜデータをオブジェクトに割り当ててから、オブジェクトをページに渡す必要があるのでしょうか??データベースアダプターを取得した後、必ず query($sql) メソッドを呼び出してデータベースにクエリを実行してください。返されるのは pdo オブジェクトです
。このオブジェクトには、データベースからクエリされたデータが含まれているだけではありません
。しかし、多くのテーブル情報も含まれています。 クラス
は役に立ちません...
通常、このオブジェクトに対して fetchAll() メソッドを呼び出して配列に変換します
本当にオブジェクトをページに追加します
これはできると思います
自分でクラスを書くこともできます
次に、 fetchAll() からの配列をパラメータとして
このクラスのコンストラクターに渡します
コンストラクターは、クラスのメンバー変数に値を割り当てますクラス
これは「オブジェクトにデータを埋める」ことかもしれません
次に、このオブジェクトを配置します それをページに渡します
しかし、それでも、ビューにオブジェクトを出力したい場合は
する必要があると思いますオブジェクトに対して関連する処理操作を実行します
そして、フレームワークを使用する場合、モデルを使用しないわけにはいきません...
データベースを操作するために従来の PHP メソッドを使用する必要がありますか?
この場合、フレームワークで許可されている限り、自分で関数を作成して配列をクラスに変更するだけで済みます。素晴らしいですが、それは私が望む答えではありません。フレームワークを使用する理由は、将来の保守と拡張が容易であるためです。また、単に関数を実装するだけであれば、オブジェクト指向がプログラミングの主要な考え方です。私ならこの質問はしません。必要なのは、見つかったデータをクラス オブジェクトに変換できるライブラリが zend にあるかどうかです。引き続き解決してください。 。 。 。
db に書く
class Db_Test{ function fetchData(){ $db=new Db(); $res=$db->fetchAll("select * from table"); return $res; }}コントローラーに書く
class TestController extends Zend_Controller_Action{ public function testAction(){ $dbclass=new Db_Test(); $data=$dbclass->fetchData(); $this->view->viewdata=$data; }}テンプレートに書く
foreach($this->viewdata as $key=>$value){ echo $value;}
それから、これの応用シナリオを教えてください
授業に飽きることはありません
実際、私はウェブサイトを作成していて、すでにそれを完了しています。ここでは完全に技術的な説明になります
モデル層はビジネス ロジックを配置するためのものです
オブジェクトのプロパティに配列を配置してから、オブジェクトをコントローラーに渡す必要があります。
配列をページに渡すことができないということではありませんか? オブジェクトとはデータベース内のテーブルのことであり、その属性はクエリされたものを割り当てることです。データをテーブルのフィールドに追加しますか?
$db->fetchAll($sql); はオブジェクトのコレクションを取得する必要があります。配列を変換するには toArray() メソッドを使用します。オブジェクトにデータを入れて代入するということについて私は本当に理解できません。ページへ。