Not a comprehensive guide, and as always, let the core module’s be your guide.
-
Router configuration has been moved from
config.xml
toetc/frontend/routes.xml
andetc/backend/routes.xml
-
There’s still a routerName/frontName distinction, although the router’s name is specified with an
id
attribute 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::getControllerClassName
returns a controller classname using namespaces. -
The controller name is in the form
PackagenameModulenameController[Controller Name]
. No morecontrollers
folders! -
No more
controlers
folder because the above autoloads fromapp/code/Packagename/Modulename/Controller/Controllername.php
-
Base controllers are
MagentoCoreControllerFrontAction
andMagentoBackendControllerAdminhtmlAction
for the frontend and backend. There’s aMagentoCoreControllerVarienAction
still lurking around the codebase — don’t use this for your controllers.