If there are customizations you want to make to your site without distributing an entire extension, you can do so by using local extenders. Each Flarum installation comes with an
extend.php file where you can add extender instances, just like in a full extension.
See our extension documentation for more information about extenders (and even an example of a local extender).
If you need to create new files (when adding a custom class to be imported for extenders), you'll need to adjust your composer.json a bit. Add the following:
Now you can create new PHP files in an
app subdirectory using the
Local extenders can be good for small tweaks, but if you need large customizations, an extension might be a better choice: a separate codebase, cleaner handling of many files, developer tooling, and the ability to easily open source are big benefits.