38 lines
1.7 KiB
Markdown
38 lines
1.7 KiB
Markdown
|
# Autoload
|
||
|
|
||
|
## Purpose
|
||
|
Automatically load PHP files in the specified directory. Recursively.
|
||
|
|
||
|
### Benefits
|
||
|
|
||
|
* Rename files with no fear of breaking `includes` or `require` calls
|
||
|
* Encourages using more files to more cleanly organize code into smaller logical chunks
|
||
|
* Reduce git merge conflicts with other developers
|
||
|
|
||
|
## Usage
|
||
|
Be sure to include the regular composer load file via `require( __DIR__ . '/vendor/autoload.php' );`.
|
||
|
|
||
|
Please note that although similarly named, this Autoload library is meant for loading all PHP files in a given directory. This does **NOT** function in the manner of the built-in PSR-4 PHP Autoloader. This is meant for PHP files which are just simple functions (i.e. not class based files)
|
||
|
|
||
|
Simply load your desired `src` or whatever directory by calling:
|
||
|
|
||
|
```
|
||
|
\A7\autoload( __DIR__ . '\src' );
|
||
|
```
|
||
|
|
||
|
### Inclusion Notes
|
||
|
Will throw exceptions if:
|
||
|
* there are more than 250 files in a directory
|
||
|
* any of the php files are larger than 300kb
|
||
|
* any of the php files are negative filesize (indicates something really funky going on)
|
||
|
|
||
|
## Caveats
|
||
|
Since this is a recursive loader, you should be conscious of what you're placing in your autoloaded directory.
|
||
|
|
||
|
### Not recommended:
|
||
|
* Placing a big (or any) PHP library in the autoloaded directory (this should/could be handled better with [composer](https://getcomposer.org/) anyways!)
|
||
|
* Being lax with permissions on a server. Obviously this is never a good idea, but I would be sure that your folder / file permissions are up to snuff (or strange files may be loaded)
|
||
|
* Trying to autoload `node_modules` or any other large volume of folders and files
|
||
|
|
||
|
## Disclaimer
|
||
|
Be aware that this may not be the right choice for your project. Please be fully aware of what this plugin does and how it works.
|