PHPにおけるMVCのモデル
それでは、モデルについて理解を深めましょう。モデルは、
コントローラーと同様に、OOPクラスとして表現されます。
これらは /project/models/ フォルダに配置する必要があります。
このフォルダ内のファイル Page.php で、私たちのサイトの
ページデータを担当するモデル Page を作成しましょう:
<?php
namespace Project\Models;
use \Core\Model;
class Page extends Model
{
}
?>
ご覧の通り、私たちのモデルは \Core\Model クラスを継承しています。
このクラスから、私たちのモデルは保護されたメソッド findOne
と findMany を継承します。findOne メソッドは
パラメータとしてSQLクエリを受け取り、クエリ結果にヒットした
最初のデータベースレコードを返します。
findMany メソッドもSQLクエリを受け取りますが、
レコードの配列を返します。
その際、データベースへの接続を確立するコードや、
mysqli_fetch_assoc を通じてクエリ結果を処理するコードを
書く必要はありません。フレームワークがそれを代行します。
あなたがすべきことは、クエリの結果としてデータベースの
レコードを1つ期待するか、複数期待するかを選択し、
対応する関数を使用して、後で単純に使用できる
分かりやすい配列を結果として得ることだけです。