Development of third-party modules is the backbone of all custom development within SproutCMS.
A high-level overview of a typical development process would be:
Modules are registered by adding the name of the module in the config/config.php file
* Enabled sprout v3 modules
'Blogs', // new module in "modules/Blogs" directory
All modules must have a unique namespace. The namespace must follow the following format:
The final segment of the namespace - the name of the module - is also used as the name of the directory in the modules directory.
Therefore, a blog module produced by the company Acme Inc would use the namespace SproutModules\AcmeInc\Blogs and the files would be located in the directory modules/Blogs.
All code within this module would existin within sub-namespaces within this namespace, and the file/directory structure mirrors the namespace layout.
Futher to the above example, a controller in the blogs module would be in the namespace SproutModules\AcmeInc\Blogs\Controllers and the file would go in the directory modules/Blogs/Controllers.