Laranext Span is module based approach, restful code separation, plug & play.
code separation like routes
, controllers
, models
, resources
, views
, migrations
for example we have admin package and it will load with /admin
key.
let's have a try.
To install through Composer, by run the following command:
composer require laranext/span
then run install command to publish config file.
php artisan span:install
Create span package with your package name
php artisan span:package admin
if you will not choose any stub then default laravel package will be create.
after creating package we need to register in our config/span.php
providers.
'providers' => [
'admin' => Admin\AdminServiceProvider::class,
],
then visit /admin
in the browser.
it will work like default laravel artisan make commands.
the only difference is after class name we need package name too.
# Generate a controller class...
php artisan span:controller PhotoController admin
# Generate a resource controller class...
php artisan span:controller PhotoController admin --resource
# Generate a model and resource controller class...
php artisan span:controller PhotoController admin --resource --model=Photo
# Generate an api controller class...
php artisan span:controller Api/PhotoController admin --api
# Generate a invokable controller class...
php artisan span:controller ShowHomepage admin --invokable
# Generate a model class...
php artisan span:model Flight admin
# Generate a model and a migration class...
php artisan span:model Flight admin --migration
# Generate a model and a FlightController class...
php artisan span:model Flight admin --controller
php artisan span:migration create_flights_table admin
why i created this over laranext
, because laranext is little advance and not native for laravel developers.
Span
is the same concept used by the laranext
but it's more close to native laravel
.
we can say it's only separation of code if we needed, it's totally optional.
laranext
is still under production and not available publicly at the moment.
Laranext Span is open-sourced software licensed under the MIT license.