Téléphone : 01 64 42 60 45
A+| A-| A
02 0

Publié par  dans 

간단히 말해서 index.php는 프레임 워크에 대한 적절한 초기화를 수행하며 요청을 해당 컨트롤러 클래스 내의 적절한 컨트롤러 (위의 예에서 goodsController) 및 작업 메서드 (멤버 함수)로 라우팅합니다. 그림 4와 같이 표준 2열 세부 정보 뷰를 생성하는 구조 파일의 예입니다. « 동일한 MVC 패턴 »이라는 문구는 MVC 패턴이 하나뿐이므로 전혀 의미가 없지만 다른 언어 나 다른 프로그래밍 스타일을 사용하여 해당 패턴의 구현이 다를 수 있습니다. 모델-뷰-발표자 또는 모델-뷰-어댑터와 같은 다른 이름의 변형이 있을 수 있지만 MVC는 하나만 있습니다. 소프트웨어에 모델, 뷰 및 컨트롤러의 책임을 수행하는 세 가지 구성 요소가 있는 경우 MVC를 구현할 수 있으며 그렇지 않으면 오해를 받고 있다고 말하는 사람은 누구나 잘못 알고 있습니다. 나는 « the »구현과 같은 것이 없기 때문에 MVC의 « a »구현을 의도적으로 말했습니다. 예를 들어 PHP 응용 프로그램을 사용하는 View 구성 요소는 Smarty 또는 다른 많은 템플릿 엔진 중 하나와 같은 템플릿 시스템을 사용할 수 있습니다. 개인적으로 나는 XSL을 사용하는 것을 선호합니다. 어떤 사람들은 컨트롤러에 데이터 유효성 검사를 넣어 (다음 지방 컨트롤러와 얇은 모델 결과), 하지만 다른 비즈니스 논리와 모델에 유지 하는 것을 선호 합니다. 즉, 모든 응용 프로그램에 대한 모든 지식은 모델/비즈니스 계층에 국한되며 프레젠테이션 및 데이터 액세스 계층은 응용 프로그램에 대한 지식이 포함되어 있지 않기 때문에 응용 프로그램에 구애받지 않습니다.

컨트롤러, 뷰 및 DAOs는 프레임워크와 함께 제공되며 개발자가 설계하고 빌드한 응용 프로그램 데이터베이스에서 가져온 테이블 구조를 사용하여 개별 모델 클래스가 프레임워크에 의해 생성됩니다. 뷰에서 이미 만든 양식 필드 이름을 사용합니다. 컨트롤러를 재사용 가능하고 테스트 할 수 있도록하려면 $_POST를 직접 사용하지 않지만이 예제에서 인수로 전달되는 배열을 사용합니다. 뷰는 모델에서 요청된 데이터를 보고 최종 출력이 결정되는 위치입니다. 일반적으로 MVC를 사용하여 빌드된 웹 앱에서 보기는 HTML이 생성되고 표시되는 시스템의 일부입니다. 또한 뷰는 사용자의 반응을 발화시고 컨트롤러와 상호 작용합니다. 이 것의 기본 예는 사용자가 클릭 하 고 컨트롤러에서 작업을 트리거 하는 View에 의해 생성 된 단추입니다. 이제 예제를 확장하여 컨트롤러에 기능을 추가하여 응용 프로그램에 상호 작용을 추가하는 방법을 보여 드리겠습니다. MVC 구현의 다른 예는 모델이 데이터를 얻는 다른 방법을 보여 주므로 자신의 개인적인 의견을 따르는 것을 « 옳다 »고 인용하고 다른 모든 것을 « 잘못 »이라고 일축한다는 것입니다. 이것은 내가 발견 한 가장 간단하고 잘 주석 된 예입니다, 감사합니다 많은 이것은 실제 문제를 해결하기 위해 MVC를 사용하는 예입니다.

MVC 구현에 대해 주의해야 할 몇 가지 중요한 사항은 이 응용 프로그램의 경우 View 구성 요소에 대한 오해가 있으며, 특히 MVC 패턴을 사용하여 응용 프로그램을 빌드하는 웹 개발자가 이러한 오해를 가지고 있습니다. 예를 들어 뷰를 모델과 아무런 관련이 없고 뷰에 의해 표시되는 모든 데이터가 컨트롤러에서 전달되는 것으로 인해 뷰가 잘못 됩니다. 실제로 이 흐름은 MVC 패턴의 이론을 완전히 무시합니다. 파비오 세바스코의 기사 케이크PHP 프레임 워크: 당신의 첫 번째 물린 CakePHP 프레임 워크에서 MVC에이 혼란 스러운 접근 방식을 보여줍니다., 사용할 수 있는 많은 비 전통적인 MVC PHP 프레임 워크의 예: 예. 이것은 단지 내가 쉽게 소화를 위해 매우 단순 하게 유지 한 베어 본 예입니다. 그래서 고급 코드 화염 트롤 닌자 녀석이 그것에 약간의 증오를 뱉기 시작하기 전에, 여기에 당신이 주의해야 할 몇 가지 물건이 있습니다 : 이 문서에서, 나는 MVC의 기본 원칙, 패턴의 정의와 PHP의 MVC의 빠른 예를 통해 실행합니다.

'.