I am currently planning on a pretty big project that would be split in 4 modules.
- Core module (default) – manage ACL, Auth and relations between other modules
- Sections – Will separate the differents section of the application and will act as a timeline / progress bar (Locked and unlocked sections based on progress)
- CMS – Will provide global content and section specific content
- Exams
For those module I will have to develop a back end to edit content/right and so on. What would be the best way to create these?
For now I see two options (there might be more) :
- Build the frontend with modules and controller and create a controller within the module with an
admin_prefix - Create an other module for each module, like : core, core_admin, sections, sections_admin, etc.
This depends on how loosely coupled you want to make your modules.
If the modules themselves are never going to move between projects, an
adminmodule might be the simplest solution. The downside to this is that theadminmodule will be tightly coupled with the other modules. This is the most logical approach from your description.If you want to keep them loosely coupled, creating separate modules as you mentioned is probably your best route.
Alternatively, if there is not a whole lot to manage, you could always simply create an
AdminControllerin each module and have individual actions for all the various admin tasks. This would get messy as the project grows though.With any of the loosely coupled choices, you may want to look at using the Zend Regex Router so you can provide a more consistent route to your admin interface.