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를 통해 쿼리 결과를 처리할 필요가 없습니다. 프레임워크가 이를 대신해 줍니다. 단순히 쿼리로부터 하나의 데이터베이스 레코드를 기대하는지, 여러 개를 기대하는지 선택하고 적절한 함수를 사용하여 나중에 바로 사용할 수 있는 명확한 배열을 결과로 얻으면 됩니다.