jeroennoten / laravel-psp
Laravel Package Service Provider for autoloading dependencies of packages in development
Requires
- illuminate/filesystem: ^5.1
- illuminate/support: ^5.1
- symfony/finder: ^3.0
Requires (Dev)
- phpunit/phpunit: ~4.0
README
For Laravel 5.1 and older, use the 1.0 branch
Laravel Package Service Provider
Developing packages in Laravel 5 is easy: just create a subdirectory for your package in a directory packages
, add the necessary autoload details in your composer.json
file and you're good to go.
Unless... your package has dependencies on other packages. Then you need to require_once
the vendor/autoload.php
file of each package. That is exactly what this package does. Of course, you can also use more heavy Laravel package development tools, such as Studio or Laravel Packager,
but if you (like me) don't really need all that additional stuff, you can use this package.
Installation
-
Require the package using composer:
composer require jeroennoten/laravel-psp
-
Add the service provider to the
providers
inconfig/app.php
:JeroenNoten\LaravelPsp\ServiceProvider::class,
-
Create an empty
packages
directory in the root of your project.
Now you're ready to create your awesome packages.
Creating A New Package
-
In the
packages
directory, create a subdirectory for your new package, e.g.packages/your-package
. -
In your
composer.json
file, define the autoloading properties for your package like so (assuming that you use PSR-4 autoloading from thesrc
subdirectory in your package directory):"autoload": { "psr-4": { "YourVendorNamespace\\YourPackageNameSpace\\": "packages/your-package/src" } },
Done! You're now ready to develop your package.
Note that this package assumes that your packages reside in a directory called
packages
. This is not (yet) configurable.