A collection of classes to be extended/used in laravel applications for quick development.
The library contains traits with well documented methods that should be used by controllers and models to enhance coding speed.
composer require d-scribe/laraquick
- PHP >= 7.0
- Laravel - ~5.5
- Guzzle - ~6.0
- PHP >= 5.6.0
- Laravel - 5.4.*
- Laravel Fractal - ^4.0
- Guzzle - ~6.0
An example controller for a Book
model is:
use App\Book;
use Laraquick\Controllers\Traits\Api;
class BookController extends Controller {
use Api;
protected function model(): string
{
return Book::class;
}
// if you have a custom form request class
protected function validationRequest(): string
{
return BookRequest::class;
}
// if you don't have a custom form request class
protected function validationRules(array $data, $id = null): array
{
return [
'title' => 'required|max:200',
'author' => 'required|max:50',
'genre' => 'required'
];
}
}
And with just the above, the controller would take care of listing (w/ pagination),
and all CRUD
operations and give the right JSON responses.
Route::httpResource('books', BookController::class);
Oh, that's covered too with the version 1.5 and above. Just swap out the Api
trait for its Web
counterpart, and you're good.
Contributions are absolutely welcome. Create a PR and I'll as swiftly as possible merge it up.