A better PHP class file autoloader library than PSR.
- PSR Specifications are so badly! Totally can't as a standard even or a suggestion because it too loosely and personalized customization.
- For the first reason,
Composeris terrible too, it makes the PHP world messing. - Conveniently to using and simply, scientific rules.
- Also good performance.
Download the LoaderOne source code floder placed it in your project dir anywhere, commonly at project root dir is ok.
-
Setting the third-party "Class" lookup paths of the project dir in
find_path.php(.e.g: Assume a thrid-party class fully qualified class is\Acme\Log\Writer\File_Writer, and you can place it at "Vendors" or "Library" or whatever else dir, so you need specify for this case.) -
Add below code in your entry PHP file, commonly is
index.php, and classes can auto loaded.
... $autoLoader = include_once 'LoaderOne\Autoloader.php'; $autoLoader->setBasePath(`YOUR_PROJECT_ROOT_DIR`); ...- Allow
LoaderOnedir can writeable.
PHP 5.3+
-
Keep the "Namespace" completely mapping the actual directory's hierarchy.
-
Keep the "Class" and "Namespace" naming & capitalized same as the located directories name.
| FULLY QUALIFIED CLASS | PROJRCT ROOT | FIND_PATH | RESULTING FILE PATH |
|---|---|---|---|
| \Acme\Log\Writer\File_Writer | \var\www\html\atest | Vendors | \var\www\html\atest\Vendors\Acme\Log\Writer\File_Writer.php |
| \Aura\Web\Response\Status | \var\www\html\atest | Vendors | \var\www\html\atest\Vendors\Aura\Web\Response\Status.php |
| \Symfony\Core\Request | \var\www\html\atest | Library | \var\www\html\atest\Library\Symfony\Core\Request.php |
| \Zend\Acl | \var\www\html\atest | Library | \var\www\html\atest\Library\Zend\Acl.php |