AJAX/UI JS 프레임 워크 (ext, jQuery-UI)를 MVC PHP 프레임 워크 (Zend, Symfony)와 결합하는 것이 좋습니다.

StackOverflow https://stackoverflow.com/questions/1800775

문제

나는 이것이 매우 일반적인 질문이라는 것을 알고 있지만, 나는 실제로 결정적인 대답을 찾고 있지 않은 것 같습니다. PHP 프레임 워크에 익숙하지 않기 때문에 머리를 돌리는 데 어려움을 겪고 있습니다.

JavaScript 프레임 워크, 특히 UI 확장 기능을 갖춘 JS 코드를 디자인에서 분리하여 MVC와 같은 접근 방식을 갖는 것 같습니다. 백엔드에서 추가 MVC 프레임 워크를 사용하는 것이 혼란스러워 보일 것 같습니다.

이것은 주로 Ajax 중심 응용 프로그램에서 일반적으로 수행됩니까? 받아 들여지고 일반적인 방법이 있습니까?

도움이 되었습니까?

해결책

Zend 프레임 워크 앱에 어떻게 맞출 수 있는지에 대한 빠른 예 (그리고 이것은 몇 달 전에 쓴 데모 앱에서 나온 것입니다) :

  • MCV 프레임 워크를 사용하여 완전히 기능적인 사이트 (JavaScript없이 작동)를 구축하십시오.
  • '정상'요청과 AJAX 요청의 차이를 이해하도록 컨트롤러를 수정하십시오 (Zend의 컨텍스트 전환이 쉽게 만들어집니다).
  • 링크를 AJAX 이벤트로 깨끗하게 교체하려면 JavaScript (예제 jQuery)를 추가하십시오.

결국, PHP 앱은 AJAX 요청에 AJAX 응답이 필요하다는 것을 알고 있지만 (대역폭이 적고, 처리가 적고, JSON 또는 HTML 'Snippet'만 필요 함) 정상적인 요청에는 전체 페이지가 생성되어야합니다.

기본적으로 AJAX를 사용하여 전체 레이아웃을 처리 할 필요없이 '보기'템플릿을 요청하거나 업데이트하거나 추가합니다. Zend 프레임 워크 컨텍스트 스위치 액션 도우미 이것이 더 의미가 있도록 도울 수 있습니다.

컨텍스트 스위칭은 HTML/XML, CSV 등과 같은 형식으로 요청을 제공하는 데 효과적이라는 점을 언급 할 가치가 있습니다.

다른 팁

제 생각에는 MVC의 다음 논리적 단계입니다. 이미 데이터 액세스 (모델), 비즈니스 로직 (컨트롤러)을 출력 (보기)에서 분리합니다. 이제 동작을 마크 업에서 분리하는 것입니다.

내 경험상 필요한 정보를 JSON 또는 XML로 반환하기 위해서만 견해를 변경하면 AJAX 기능에서 실제로 잘 작동합니다.

그 이후로 아주 좋은 생각입니다 PHP MVC 프레임 워크는 JS 프레임 워크와 번들로 제공됩니다:


업데이트 된 링크, 감사합니다 "예외 E".

개인적으로 우리는 jQuery와 함께 Zend (MVC 및 Zend 프레임 워크의 다른 측면)를 사용하고 있으며 매우 잘 작동합니다. HTML 페이지와의 모든 상호 작용이 jQuery (AJAX)를 통해 이루어지지는 않기 때문에 표준 MVC 아키텍처가 적극 권장됩니다. 당신은 확실히 당신의 아키텍처의 레이어 (모델과보기 분리)를 원하고 jQuery가있는 것은 (적어도 나에게), MVC를 비동기 적으로 실행할 수있는 추가 "기능"을 원합니다.

백엔드에서 추가 MVC 프레임 워크를 사용하는 것이 혼란스러워 보일 것 같습니다.

그것에 대해 걱정할 필요가 없습니다. Zend Framework 및 ExtJS를 예를 들어 독립적으로 개발하는 동안 실제로 별도의 제품입니다. 이 레이어 사이의 종속성 간단하게 유지해야합니다. 걱정할 필요 없어.

커플 링이 낮으므로 서버 애플에서 데이터를 쿼리하고 클라이언트 측에서 원하는대로 수행하는 수단을 설정하면됩니다. 이 시스템 사이의 경계는 간단하고 혼동하지 않습니다.
EXTJS에는 실제로 MVC 구조 IMHO가 없습니다. 사전 정의 된 풍부한 구성 요소를 제공합니다. 이러한 구성 요소를 일부 구성으로 붙이고 데이터를 가져올 수있는 서버의 URL을 설정합니다.

Zend MVC가 Ajax에 어떻게 응답합니까? 나는 당신이 볼 것을 권장합니다 Zf f Ajax에 대한 프레젠테이션 ZF의 프로젝트 리드에서.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top