devel:autoloader
Table of Contents
Autoloader
DokuWiki registers its own autoloader early on in inc/load.php. When developing plugins you nearly never need to require any other files yourself.
Plugin components are automatically recognized by their naming scheme and file_structure. However those should always be loaded via plugin_load() or loadHelper().
If you need additional classes, simply use the appropriate namespace as outlined below.
Vendor Autoload
When plugins have a vendor/autoload.php
file it is automatically require
d by DokuWiki's autoloader. No need do that yourself anymore.
Namespaces
Because of DokuWiki's long history, most core files are not namespaced. Newer components however are.
DokuWiki registers the following namespaces for autoloading:
\dokuwiki\
- classes and subnamespaces are loaded frominc/*
\dokuwiki\plugin\
- classes are loaded fromlib/plugins/*
\dokuwiki\plugin\*\test\
- classes are loaded fromlib/plugins/*/_test/*
\dokuwiki\template\
- classes are loaded fromlib/tpl/*
\dokuwiki\template\*\test\
- classes are loaded fromlib/tpl/*/_test/*
devel/autoloader.txt · Last modified: by andi