Awesome
laraquick
A collection of classes to be extended/used in laravel applications for quick development.
Introduction
The library contains traits with well documented methods that should be used by controllers and models to enhance coding speed.
Installation
composer require d-scribe/laraquick
Dependencies
>= v1.*
- PHP >= 7.0
- Laravel - ~5.5
- Guzzle - ~6.0
v0.*
- PHP >= 5.6.0
- Laravel - 5.4.*
- Laravel Fractal - ^4.0
- Guzzle - ~6.0
Example
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::resource('books', BookController::class);
What if Web and not API?
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.
Documentation
Contribution
Contributions are absolutely welcome. Create a PR and I'll as swiftly as possible merge it up.