Download the PHP package david-chamling/laravel-api-crud without Composer
On this page you can find all versions of the php package david-chamling/laravel-api-crud. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download david-chamling/laravel-api-crud
More information about david-chamling/laravel-api-crud
Files in david-chamling/laravel-api-crud
Package laravel-api-crud
Short Description A complete Laravel API CRUD generator with model, controller, service, requests and resources scaffolding
License MIT
Informations about the package laravel-api-crud
Laravel API CRUD Generator β Fast, Flexible, and Extensible API Scaffolding
A powerful Laravel package that generates complete CRUD API scaffolding with a single Artisan command.
π Features
- π§ Single-command CRUD scaffolding
- π§© Built-in lifecycle hooks (before/after store/update)
- πͺ Custom route macros
- π Advanced search and filtering
- π Pagination support
- π‘οΈ Request validation
- π― Resource transformation
- π€ Automatic user tracking (created_by / updated_by)
- βοΈ Customizable stubs
β Requirements
- PHP >= 8.1
- Laravel >= 9.x
π Learn by Example
Want to see it in action? Check out this step-by-step guide where we build a complete Blog API using this package:
π Read the full step-by-step tutorial on Medium
π¦ Installation
Install via Composer:
(Optional) Publish stub files for customization:
β‘ Basic Usage
Generate full CRUD scaffolding for a model:
This will generate:
- Controller
- Service class
- Form requests
- API resource
- Model
- Migration
- Routes
Define routes in your routes/api.php
:
β Note: The
crudResource()
macro is automatically registered by the package.
π Request Validation
For security and data integrity, you must define complete validation rules in your generated request classes.
β οΈ Important: This CRUD system only uses validated data. If you forget to define rules in your request classes, fields like
name
,price
, etc., will be empty or missing from your controller β even if you pass them in the request.
Define validation rules in your generated request classes:
π§© Model Configuration
Ensure your modelβs $fillable
property includes all the fields:
π Generated Endpoints
Method | Endpoint | Description |
---|---|---|
GET | /products | Paginated list |
GET | /products/all | Get all records |
GET | /products/count | Count total items |
GET | /products/{id} | Get single record |
POST | /products | Create new record |
PUT | /products/{id} | Update record |
DELETE | /products/{id} | Delete record |
GET | /products/featured | Custom endpoint |
π Advanced Query Parameters
Customize search, filters, and pagination in your controller:
Examples:
πͺ Lifecycle Hooks
Override lifecycle hooks in your custom CRUD service:
π API Responses
Use the built-in response helper for consistency:
π§± Customization
After publishing stubs, you can customize all generated files:
Modify these to fit your code style or architecture.
π‘ Example Controller
π οΈ Support
Having issues or suggestions? Open an issue on GitHub:
π GitHub Repository
π License
MIT Licensed. See LICENSE.
π€ Contributing
Pull requests and suggestions are welcome! Feel free to open issues for bugs or enhancements.