이 자습서는 상향식 설계 접근 방식과 MVC (Model-View-Controller) 패턴을 사용하여 퀴즈 응용 프로그램을 계속 구축합니다. 1 부에서는 퀴즈 및 질문 엔티티의 생성, 자리 표시 자 데이터 맵퍼 및 서비스 인터페이스를 다루었습니다. 이 부분은 Slim Framework를 사용하여 서비스, 컨트롤러 및 뷰를 구현하고 마지막으로 더미 맵퍼를 MongoDB 기반으로 대체하는 데 중점을 둡니다.
주요 개념 :
MVC 아키텍처 :
응용 프로그램은 모델-뷰 컨트롤러 패턴을 사용하며 퀴즈 및 질문 엔티티가 모델을 형성, 사용자 인터페이스를 뷰로, 사용자 상호 작용 흐름을 정의하는 퀴즈 서비스 (Quiz 서비스) ( 컨트롤러). 슬림 프레임 워크 :슬림은 컨트롤러 및 뷰를위한 프레임 워크를 제공합니다. 모듈성은 다른 MVC 프레임 워크로 쉽게 교체 할 수 있습니다. 데이터 액세스 : 데이터 맵퍼는 데이터베이스 상호 작용을 추상화하여 MongoDB에 연결됩니다. 이를 통해 쉽게 데이터베이스 전환이 가능합니다 서비스 계층 및 도메인 모델 : 응용 프로그램은 서비스 계층을 사용하여 비즈니스 로직을 캡슐화하여 "Fat Model, Thin Controller"원리를 유지 관리 할 수 있습니다. 구현 불가지론 : 서비스는 사용자 인터페이스와 무관하게 설계되어 다른 프론트 엔드 (예 : 명령 줄)를 허용합니다. 서비스 구현 ()
<code class="language-php"><?php namespace QuizApp\Service; use QuizApp\Service\Quiz\Result; // ... class Quiz implements QuizInterface { // ... (constants remain the same) // ... (constructor remains the same) // ... (showAllQuizes remains the same) public function startQuiz($quizOrId) { // ... (logic remains largely the same) } // ... (getQuestion remains largely the same) public function checkSolution($solutionId) { // ... (logic remains largely the same) } // ... (isOver remains largely the same) // ... (getResult remains the same) // ... (getCurrentQuiz remains largely the same) // ... (getCurrentQuestionId remains the same) // ... (addResult remains the same) }</code>
위 내용은 실용 OOP : 퀴즈 앱 구축 -MVC의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!