magento
MVC 구조
수색…
비고
MVC는 Model-View-Controller의 약자입니다. 데이터 액세스, 비즈니스 로직 및 사용자 인터페이스를 구분하는 모든 애플리케이션을 MVC라고합니다. MVC에는 컨벤션 기반과 컨피규레이션 기반의 두 가지 유형이 있습니다. 예를 들어, cakePHP는 관행에 기반합니다. 즉, 핵심 시스템의 지침에 따라 모듈을 몇 줄만 준비하면됩니다. Magento는 구성 기반입니다. 즉, 작동시키기 위해서는 모듈의 설정 파일에 모든 것을 지정해야합니다. Magento에는 컨트롤러 (라우팅 용), 블록, 모델 및 템플릿 파일이 있습니다. Magento의 MVC 작동 방식 :
- URL ( http://mysite.com/frontname/controller/method/param1/value1/param2/value2 와 같은 ) 을 입력하면이 URL은 Magento 응용 프로그램을 인스턴스화하는 index.php라는 하나의 PHP 파일에 의해 차단됩니다
- Magento 응용 프로그램은 Front Controller 객체를 인스턴스화합니다.
- 또한 프런트 컨트롤러는 모듈의 config.xml, global 태그에 지정된 라우터 객체를 인스턴스화합니다.
- 이제 라우터는 우리의 URL에있는 frontname과 "일치"할 책임이 있습니다
- "일치"가 발견되면 마지막으로 호출 된 URL에 컨트롤러 이름과 메소드 이름이 표시됩니다.
- 이제 액션 이름 (메소드 이름)에 기록 된 내용에 따라 실행됩니다. 모델이 호출되면 컨트롤러 메소드는 해당 모델을 인스턴스화하고 요청 된 메소드를 호출합니다.
- 그런 다음 컨트롤러 작업 (메서드)은이 작업 (메서드) 이름에 지정된 Block을 호출하는 Layout 개체를 인스턴스화합니다 (각 컨트롤러 작업 이름에는 app / design / frontend 또는 adminhtml / namespace / module / layout / module.xml 파일, 레이아웃 파일 (module.xml)의 이름은 레이아웃 업데이트 태그에서 해당 모듈의 config.xml에서 찾을 수 있습니다.
- 템플릿 파일 (.phtml)은 모든 메소드 요청에 대해 해당 블록을 호출합니다. 그래서 $ this-> methodName을 .phtml 파일에 쓰면 module.xml 파일에있는 블록 파일의 "methodName"을 검사하게됩니다.
- Block은 PHP 로직을 포함합니다. 그것은 DB에서 모든 데이터에 대한 모델을 참조하십시오.
- 블록, 템플릿 파일 또는 컨트롤러 중 일부 데이터를 데이터베이스에서 가져 오거나 설정해야하는 경우 Mage :: getModel ( 'modulename / modelname')과 같이 Model을 직접 호출 할 수 있습니다.
Magento에서 MVC 이해
Magento의 MVC 흐름
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow