luna / laravel-packager
Create a Laravel package template with ease
Requires
- php: >=5.5
- illuminate/console: 5.1.*|5.2.*|5.3.*|5.4.*
- illuminate/filesystem: 5.1.*|5.2.*|5.3.*|5.4.*
- illuminate/support: 5.1.*|5.2.*|5.3.*|5.4.*
Requires (Dev)
- phpunit/phpunit: ^4.8
README
# Prerequisites
This package should run on PHP 5.5+ and Laravel 5.1+.# Setup
First, add this package to your `composer.json`: composer require luna/laravel-packager "~1.0"
Then, add the service provider to config/app.php
:
"providers" => [ // snip Luna\Packager\ServiceProvider::class, ];
If you want to use the package in the current project without adding it to, for example, packagist just yet, ie. for development, add the following line to your main project's composer.json
:
{
"autoload": {
"classmap": [
"database",
"packages" # Add this line to your main projects composer.json
],
"psr-4": {
"App\\": "app/",
"Tests\\": "tests/"
}
}
}
After adding that line, run composer dump
, and add the package's service provider to config/app.php
.
For example, you made a package which has the following structure: <project_root>/packages/Foo/Bar/BarServiceProvider.php
.
When you add the line to the composer.json
in the project root, you can use that service provider with it's usual namespace: Foo\Bar\BarServiceProvider::class
.
# Usage
php artisan make:package <Vendor> <Package> [--base-dir=packages]
Be default, the package files are created in <project_root>/packages/Vendor/Package
.
By specifying --base-dir
in the make:package
command, you can change where the files are placed.