Download the PHP package lorisleiva/lody without Composer
On this page you can find all versions of the php package lorisleiva/lody. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download lorisleiva/lody
More information about lorisleiva/lody
Files in lorisleiva/lody
Package lody
Short Description Load files and classes as lazy collections in Laravel.
License MIT
Homepage https://github.com/lorisleiva/lody
Informations about the package lody
🗄 Lody
Load files and classes as lazy collections in Laravel.
Installation
Usage
Lody enables you to fetch all existing PHP classes of a provided path (or array of paths) that are relative to your application's base path. It returns a custom LazyCollection with helpful methods so that you can filter classes even further based on your own requirement. For example, the code below will fetch all non-abstract instances of Node within the given path recursively and register each of them.
If you want all files instead of existing PHP classes, you may use Lody::files instead.
Configuration
Resolving paths
When providing paths to the Lody::files or Lody::classes methods, Lody will automatically assume these paths are within the root of your application unless they start with a slash in which case they are left untouched.
You may configure this logic by calling the Lody::resolvePathUsing method on one of your service providers. The example below provides the default logic.
Resolving classnames
When using the Lody::classes method, Lody will transform your filenames into classnames by following PSR-4 conventions. For example, if your filename is app/Models/User.php and you have mapped the App namespace to the app directory in your composer.json file, the it will be resolved to App\Models\User.
By default, the classname resolution takes into account every single PSR-4 mapping as defined in your vendor/composer/autoload_psr4.php file. This means, it will even resolves classes that live in your vendor directory properly.
If your PSR-4 autoload file is located elsewhere, you may configure it by calling the Lody::setAutoloadPath method on one of your service providers.
Alternatively, you may override this logic entirely by calling the Lody::resolveClassnameUsing method. The example below provides a useful example for Laravel applications.
Using Lody without Laravel
Lody works out of the box with Laravel because we can use the base_path method to access the root of your project.
However, if you wish to use Lody without Laravel, you may simply provide the base path of your application explicitely using the Lody::setBasePath method.