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