PHPにおけるMVCモデルの実践

あなたのデータベースに、何らかのレコードを持つテーブル page があるとします。 二つのメソッドを持つモデル Page を作成してみましょう。最初のメソッドは その id によって一つのレコードを取得し、二つ目のメソッドは id の範囲からレコードの配列を取得します:

/project/models/Page.php<?php
  namespace Project\Models;
  use \Core\Model;
  
  class Page extends Model
  {
    public function getById($id)
    {
      return $this->findOne("SELECT * FROM page WHERE id=$id");
    }
    
    public function getByRange($from, $to)
    {
      return $this->findMany("SELECT * FROM page WHERE id>=$from AND id<=$to");
    }
  }
?>

では、コントローラーでこのモデルを使ってみましょう:

project/controllers/PageController.php<?php
  namespace Project\Controllers;
  use \Core\Controller;
  use \Project\Models\Page; // モデルを接続

  class PageController extends Controller
  {
    public function test() {
      $page = new Page; // モデルオブジェクトを作成
    
      $data = $page->getById(3); // id=3のレコードを取得
      var_dump($data);
      
      $data = $page->getById(5); // id=5のレコードを取得
      var_dump($data);
      
      $data = $page->getByRange(2, 5); // idが2から5までのレコード
      var_dump($data);
    }
  }
?>
Задание 1

あなたのデータベースにテーブル page を作成し、 データを入力してください。理論で説明したコードの動作を 確認してください。