Proof of concept to preset-api and generator --api commands
- install laravel fresh app
composer create-project --prefer-dist laravel/laravel poc-api && cd poc-api
- Install laravelha/preset-api
composer require laravelha/preset-api
- Install laravelha/generator
composer require laravelha/generator
- Publish laravelha generator config file
php artisan vendor:publish --tag=ha-generator
php artisan ha-generator:crud Category -a -s 'title:string(150), description:text:nullable, published_at:timestamp:nullable'
php artisan ha-generator:crud Post -a -s 'title:string(150), content:text, published_at:timestamp:nullable, category_id:unsignedBigInteger:foreign'
php artisan ha-generator:package news
php artisan ha-generator:crud Article -a -s 'title:string(150), content:text, published_at:timestamp:nullable'
After set database in .env
php artisan migrate
Run tinker and factory create
php artisan tinker
# generate 50 posts and categories
factory(\App\Post::class, 50)->create();
factory(\Laravelha\News\Models\Article::class, 50)->create();
This project use RequestQueryBuildable see about on laravelha/suppot
After run php artisan ha-generator:package
is need publish the package and install via composer to auto discovered or follow this steps:
1 - Add psr4 on composer
"psr-4": {
"App\\": "app/",
"Laravelha\\News\\": "packages/news/"
},
- Add services providers on config/app.php
Laravelha\News\Providers\NewsServiceProvider::class,
Laravelha\News\Providers\RouteServiceProvider::class,
- add folder to get annotations on config/l5-swagger
'annotations' => [
base_path('app'),
base_path('packages'),
],
- run
composer dump
andphp artisan config:cache