Register specific routes for your module.
Check source of IRouterProvider on the Github.
You can add your separated service as your router factory
Then your router factory looks like:
Extend your Latte templates in application with your powerful macros.
Check source of ILatteMacrosProvider on the Github.
Do you prefer own namespace? Me too! Just tell to application about it.
Check source of IPresenterMappingProvider on the Github.
Extend your Latte templates in application with your powerful helpers.
Check source of ITemplateHelpersProvider on the Github.
Define own "constants" for your application. (Or overwrite defined.)
Check source of IParametersProvider on the Github.
Implement your cool error pages like the Boss!
Check source of IErrorPresenterProvider on the Github.
Improve debugging with custom intelligent panel.
Check source of ITracyPanelsProvider on the Github.
Add custom panel into debugging panel.
Check source of ITracyBarPanelsProvider on the Github.
Nette Modules on Steroids means simple registration and management of Nette modules & extensions.
Flame/Modules is very tiny library which allows write reusable modules for Nette framework. With Modules you can separate your application into small modules (addons, extensions, plugins etc.) which can be handled eg. with Composer. No more Copy&Paste!
Don't be worry about performance. In fact, Modules library is only one class ModulesExtension which is loaded by your application. And we know Nette Extension are processed only during generating of cache - it means only on first load of your app. Faster coding!
Based on solid modular concept of Nette.
Use Composer to install Flame/Modules.
In your composer.json you must have the following lines:
Specify version of flame/modules if you want.
Update composer dependencies (run command: composer update)
Register extension Flame\Modules\DI\ModulesExtension in your config.neon file:
That's all. Simple, don't you think?
Now, you can add your custom modules: (eg.)
TIP! Make sure the ModulesExtension is registered as the last Nette extensions. You will avoid a lot of misunderstanding.