This is a module of Autoloader that works like this:
- Determines whether a given class name is relevant for a given loader. If not, it returns false and Autoloader gives the next registered loader the opportunity.
- If it is relevant for the class name, then it builds a path to the script that contains the class. It should do this as quickly as possible (with as little overhead as possible). It then returns the found path as the return value. The autoloader takes care of the rest of the class loading process. This is no longer a matter for the Loader.
Each loader must inherit from a class Jet/Autoloader_Loader.
Loaders are in the application space in the ~/application/Autoloaders/ directory. They are therefore destined to be edited, changed, added to.
Initialization takes place in the script ~/application/Init/Autoloader.php. This script can again be modified as needed (application space). Each loader must be "loaded" conventionally using require (and using Jet\SysConf_Path) and then registered:
require SysConf_Path::getApplication() . 'Autoloaders/ApplicationClasses.php';
|JetApplication\Autoloader_Jet||This loader loads Jet library classes. So a pretty basic loader :-) By default, the path to the Jet classes is:~/library/Jet/ and the namespace is Jet|
|JetApplication\Autoloader_ApplicationClasses||The purpose of this loader is to load your application classes. The ones you have are in the ~/application/Classes/ directory and I'm in the JetApplication namespace (Note: the namespace of the application namespace can be changed.). The loader works properly provided you follow the same class layout as the Jet platform itself. Which I recommend, but you can always make your own loader.|
|JetApplication\Autoloader_ApplicationModules||As the name implies, it loads the classes of each application module. These are in the ~/application/Modules/ directory and namespaces starting with JetApplicationModules\* (each module has its own namespace, the root namespace can be changed)|