마 젠토 2의 요청 흐름


21

그것들은 많은 소란을 불러 일으키며 Magento 2네임 스페이스와 같은 개념이 그것에 포함되었습니다. 나는 요청 흐름이 어떻게 처리되었는지 알고 싶어 궁금하다 Magento 2. 누군가 내게 간단한 설명을 해줄 수있다.

Anthol Krit 프레젠테이션의 흥미로운 점

Magneto2는 8000 개의 클래스 를 Magento의 2700 과 비교했습니다. 1


4
Magento 2의 건축가 Anton Kril이 여기에 설명합니다 : de.slideshare.net/Dutchento/anton-kril-mm15nl
Fabian Schmengler

답변:


21

index.php\Magento\Framework\App\Http부트 스트랩에서 이전에 작성된 objectManager를 사용하여 애플리케이션 인스턴스 ( )를 작성하고 method를 호출합니다 launch.

Http Application 인스턴스는 초기 라우팅을 수행합니다. url의 첫 부분이로드되어야하는 영역 (admin / frontend / rest / ...)을 알아냅니다.

영역이 정의되면 해당 영역에 대한 구성이로드됩니다 (모든 구성이로드 된 Magento 1과 달리).

그런 다음 Magento\Framework\App\FrontControllerInterface::dispatch요청 된 영역의 응용 프로그램 개체 호출 프론트 컨트롤러는 마 젠토 1에서와 동일한 라우팅을 수행합니다. 모든 라우터는 요청에 맞게 반복됩니다. 요청과 일치하는 라우터는 일치하는 ActionController 인스턴스를 반환합니다 FrontController. 이 프로세스는 한 영역의 라우터 만 사용하기 때문에보다 효율적입니다 (프론트 엔드에서는 관리자 라우터가 사용되지 않음). 모든 추가 동작은 프론트 컨트롤러에서 이동 된 pluginsFrontController와 액션 컨트롤러.

FrontController액션 컨트롤러의 인스턴스를 가져옵니다는 호출 dispatch그것을. 액션 컨트롤러는 작업을 수행하고 일부 구현 인스턴스 ResultInterface(예 : 페이지, 리디렉션 등)를 반환합니다 .

FrontControllerResultInterface응답을 렌더링하는 애플리케이션 인스턴스로 돌아갑니다 .

Meet Magento NL에서 이에 대한 프레젠테이션을했습니다 : http://www.slideshare.net/Dutchento/anton-kril-mm15nl


당신의 대답을위한 Thnaks @anthon.
Dimag Kharab

2
그것이 보이는 전체 개념을 이해하는데 많은 시간이
걸릴


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.