https://www.mageplaza.com/magento-2-module-development/factory-object-magento-2.html
Trong Magento 2, tất cả các hành động của bộ điều khiển phải trả về một cái gì đó, trái ngược với M1, trong đó một hành động của bộ điều khiển sẽ chỉ xuất ra một cái gì đó hoặc thực hiện chuyển hướng. Kết quả của phương thức thực thi từ mỗi bộ điều khiển được tạo trong Magento \ Framework \ App \ FrontContoder :: Clark () trên dòng $ result = $ actionInstance-> exec (); và đã trở lại.
Tùy thuộc vào loại kết quả trả về, một hành động khác nhau được thực hiện. Kết quả có thể và ví dụ:
\ Magento \ Framework \ View \ result \ Page - thực sự hiển thị html \ Magento \ Framework \ Controller \ result \ Redirect - chuyển hướng đến một trang khác \ Magento \ Framework \ Controller \ result \ Forward - chuyển tiếp sang một hành động khác (chuyển hướng nội bộ) \ Magento \ Framework \ Controller \ result \ Json - trả về một đối tượng json. \ Magento \ Framework \ Controller \ result \ Raw - trả về bất cứ điều gì bạn bảo nó trả về (chuỗi).
Kết quả cụ thểPageFactory là một phiên bản của \ Magento \ Framework \ View \ result \ PageFactory và khi gọi tạo trên lớp đó, nó trả về một thể hiện của \ Magento \ Framework \ View \ result \ Page được mô tả ở trên. Khi điều này được sử dụng và kết quả được trả về, điều đó có nghĩa là hành động của bạn sẽ trả về HTML. Nó có tác dụng tương tự như $ this-> loadLayout (); từ Magento 1. Khi bạn gọi tạo trên đối tượng resultPageFactory, nó thực sự tải bố cục