Not a comprehensive guide, and as always, let the core module’s be your guide.
-
Router configuration has been moved from
config.xmltoetc/frontend/routes.xmlandetc/backend/routes.xml -
There’s still a routerName/frontName distinction, although the router’s name is specified with an
idattribute instead of the node name inroutes.xml(which makes it a router id) -
If you want your module to have controllers you’ll need to work with PHP namespaces, as
MagentoCoreAppRouterBase::getControllerClassNamereturns a controller classname using namespaces. -
The controller name is in the form
PackagenameModulenameController[Controller Name]. No morecontrollersfolders! -
No more
controlersfolder because the above autoloads fromapp/code/Packagename/Modulename/Controller/Controllername.php -
Base controllers are
MagentoCoreControllerFrontActionandMagentoBackendControllerAdminhtmlActionfor the frontend and backend. There’s aMagentoCoreControllerVarienActionstill lurking around the codebase — don’t use this for your controllers.