PHPにおけるMVCのモデル

それでは、モデルについて理解を深めましょう。モデルは、 コントローラーと同様に、OOPクラスとして表現されます。 これらは /project/models/ フォルダに配置する必要があります。 このフォルダ内のファイル Page.php で、私たちのサイトの ページデータを担当するモデル Page を作成しましょう:

/project/models/Page.php<?php
  namespace Project\Models;
  use \Core\Model;
  
  class Page extends Model
  {
    
  }
?>

ご覧の通り、私たちのモデルは \Core\Model クラスを継承しています。 このクラスから、私たちのモデルは保護されたメソッド findOne と findMany を継承します。findOne メソッドは パラメータとしてSQLクエリを受け取り、クエリ結果にヒットした 最初のデータベースレコードを返します。 findMany メソッドもSQLクエリを受け取りますが、 レコードの配列を返します。

その際、データベースへの接続を確立するコードや、 mysqli_fetch_assoc を通じてクエリ結果を処理するコードを 書く必要はありません。フレームワークがそれを代行します。 あなたがすべきことは、クエリの結果としてデータベースの レコードを1つ期待するか、複数期待するかを選択し、 対応する関数を使用して、後で単純に使用できる 分かりやすい配列を結果として得ることだけです。