Plugin Structure
To ensure your plugin functions seamlessly, it requires a specific file structure. Only two files are required to start.
Minimal Plugin Structure
A straightforward plugin only needs one folder and two files: a PHP file containing the plugin code and a YAML file for configurations.
/myPlugin // folder
- myPlugin.php // file with plugin code
- myPlugin.yaml // file with YAML configuration
Naming Rules
Use a unique, short, and descriptive name for your plugin with alpha characters [a-z].
- Use the plugin name for your folder name.
- Use the plugin name for the php file.
- Use the plugin name for the YAML configuration file.
Extended Plugin Structure
If you create a complex plugin with many functionalities, then you should structure your code a bit more. It depends highly on the features that the plugin provides. An example:
/myPlugin
- myPlugin.php // basic php logic and entry point for the plugin
- myPlugin.yaml // yaml configuration
- myPluginMiddleware.php // Middleware that has been added in the myPlugin.php file.
- myPluginRoute.php // Entry point for a new route, that has been added in the myPlugin.php file.
- /templates // a folder with twig-templates used by the plugin
- /js // a folder with javascript-files, for example a library or a vue component for the author area.
- /vendor // vendor folder with libraries used by the plugin