약한 "PHP 프레임 워크"가 있습니다. 그리고 그들 대부분은 MVC 패턴 을 따르는 것으로 스스로 청구합니다 . osCommerce 코딩 스타일 (SQL 및 HTML과 많이 혼합 된 처리 로직)을 극복하는 것이 좋지만 유지 관리 가능한 응용 프로그램 디자인을 얻는 방법은 간단하고 따르기 쉽습니다.
원래 MVC 개념은 GUI 응용 프로그램을 대상으로합니다. 그리고 Gtk / Python의 경우 그에 따라 따르는 것이 가능해 보입니다. 그러나 PHP 웹 앱은 라이브 뷰 (GUI 요소) 및 영구 컨트롤러 런타임에서 작동하지 않습니다. 사용 된 코드 + 디렉토리 그룹화 또는 클래스 이름 지정을 설명하면 분명히 잘못된 이름입니다.
"MVC"는 PHP 프레임 워크의 전문 용어처럼 사용됩니다. 그리고 실제로 하나 또는 두 개의 성숙한 PHP 프레임 워크가 그것을 인정하지만, 어쨌든 interna와 일치하도록 문구를 재정의하는 것을 보았습니다.
일반적으로 뱀 기름입니까? 더 나은 용어가 사용되지 않고 유지 관리 가능한 PHP에 대한 더 합리적인 개념이 전파되는 이유
정교한 추론
PHP 구현이 실제 MVC 패턴을 따르지 않는 것으로 의심되는 이유는 다음과 같습니다.
모델 : 이론적으로 모델은 뚱뚱하고 비즈니스 로직을 포함해야하며 컨트롤러는 씬 핸들러 (입력-> 출력) 여야합니다. 실제로 PHP 프레임 워크는 얕은 모델을 옹호 합니다. CI 및 심포니는 예를 들어 동일 모델 == ORM입니다. HTTP 입력조차 컨트롤러에 의해 처리되며 모델로 취급되지 않습니다.
조회수 : AJAX가 할인 된 해결 방법, 웹 페이지에는 조회수가 없습니다. PHP 프레임 워크는 여전히 페이지를 펌핑합니다. 인터페이스는 여전히 일반 HTTP 모델을 효과적으로 따르며 비 MVC 응용 프로그램에 비해 이점이 없습니다. (마지막으로, 널리 퍼진 PHP 프레임 워크 중 어느 것도 HTML 대신 GUI 뷰로 실제로 출력 할 수 없습니다. Gtk / Console / Web을 조작 할 수있는 PHP 라이브러리를 보았지만 프레임 워크는 그렇지 않습니다.)
컨트롤러 : 잘 모르겠습니다. 컨트롤러는 MVC 모델에서 오래 실행되고 지속적으로 활성화 될 필요가 없습니다. 그러나 PHP 프레임 워크 컨텍스트에서는 대부분 요청 핸들러입니다. 실제로 논쟁의 여지가있는 것은 아니지만 약간 어색한 느낌입니다.
더 나은 설명자가 있습니까? 나는 PMVC 또는 HMVC와 같은 두문자어가 던져지는 것을 보았습니다. 설명이 더 모호해 지지만 현재 웹 프레임 워크를 덜 설명 할 수 있을까요?