Plugins and code
Extend it with plugins and, if you want, get into the code
Bespoke functionality doesn’t force you to touch the core: plugins are self-contained add-ons you enable and disable, and a faulty one is isolated without breaking anything. And since the code is yours with the licence, you can study it, adapt it and build on solid foundations —just like the FUNDAE plugin already does.
- Plugin systemSelf-contained add-ons you enable and disable: they bring slots, hooks, config, routes, their own schema and even providers. A faulty plugin is isolated and doesn’t break the core.
- Code accessWith the Flex licence, the code is yours to study, adapt and build on solid foundations.
- FUNDAE pluginA real example: management of subsidised training in Spain as an add-on, with its own translation domain.
// plugins/mi-plugin/MiPlugin.php class MiPlugin extends Plugin { public function hooks(): array { return ['curso.completado' => [$this, 'emitirFactura']]; } }

