How ussualy KO3 works: 1. Get files from "system" 2. Replace some by each used "module" 3. And finally - replace by "application"
What I must todo to add in these chain one more folder folder? How to extend this cascade ? For example I want to load classes like here:
- "/system/"
- "/modules/"
- "/before-plugins/"
- "/plugins/"
- "/before-application/"
- "/application/"
and I want that "plugins" has the same functionality as "modules" To I can initialize each plugin as module, by:
Kohana::plugins(array(
'plugin_1' => PLUGPATH.'plugin_1', // Plugin 1
'plugin_2' => PLUGPATH.'plugin_2', // Plugin 2
// and so on
));
And what I must to do to create one more looks-like application folder, which will autoloads before application starts? ("/before-application/" and "/before-plugins/")
I know that must put into application/classes/Kohana/Core.php copy from SYSPATH and do something. But what? Help me please!
You actually got it wrong.
Kohana::auto_load()
usesKohana::find_file('classes', $file)
for your classes. The part that applies here isand since
Kohana::$_paths
isapplication will be searched first. If nothing is found there, then Kohana will look in modules. And only if there hasn't been an existing class found, the system directory will be looked into.
Now by editing
Kohana::$_paths
you can easily control the order Kohana uses for autoloading.