a7 / autoload
Automatically and recursively require_once all php files in a given directory.
Installs: 18 772
Dependents: 4
Suggesters: 0
Security: 0
Stars: 8
Watchers: 1
Forks: 2
Open Issues: 0
Requires
- php: >=7.0
README
Purpose
Automatically load PHP files in the specified directory. Recursively.
Benefits
- Rename files with no fear of breaking
includes
orrequire
calls - Encourages using more files to more cleanly organize code into smaller logical chunks
- Reduce git merge conflicts with other developers
Installation
composer require a7/autoload
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 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.