Download the PHP package ahmedebead/lara-crud without Composer
On this page you can find all versions of the php package ahmedebead/lara-crud. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ahmedebead/lara-crud
More information about ahmedebead/lara-crud
Files in ahmedebead/lara-crud
Package lara-crud
Short Description A Laravel package to generate CRUD operations for APIs.
License MIT
Informations about the package lara-crud
Lara-CRUD
The Lara-CRUD package simplifies the process of creating, reading, updating, and deleting data in a Laravel application. This package provides a set of helpful traits and methods to handle common CRUD operations efficiently, ensuring a streamlined development workflow.
Installation
To install the package via Composer, run the following command:
How to Use
Step 1: Generate CRUD Operations
To generate CRUD operations, use the following Artisan command. The command will prompt you to enter the database table name associated with the model:
Upon running this command, you will be prompted to enter the database table name associated with the model.
Step 2: Publishing Stubs and Configs
To customize the generated files, you can publish the stubs and configuration files provided by the package using the following Artisan command:
This will publish the configuration to config/lara-crud.php
and stubs to resources/stubs/vendor/lara-crud
.
Understanding the Generated Files
After running the generate command, a new folder for the specified table (model) will be created inside the app
directory containing all the necessary files and folders.
Generated Folders and Files
The package will create a folder inside the app
directory for the specified table. This folder will include all necessary subfolders and classes, organized as follows:
- Controllers: Handles the HTTP requests for your model.
- DTOs: Data Transfer Objects for data encapsulation.
- Resources: Formatting API responses.
- Policies: Authorization policies.
- Selectors: Methods to select specific data.
- Notifications: Notifications related to the model.
- Events: Events for the model.
- Listeners: Event listeners.
- Mappers: Data mappers.
- Models: Eloquent model class.
- Repositories: Data access layer.
- Requests: Request validation classes.
- Services: Business logic services.
- Scopes: Query scopes.
- Traits: Reusable traits.
- Filters: Query filters.
What the Package Will Do for You
The Lara-CRUD package automates the following tasks:
- Controller Generation: HTTP controllers for managing CRUD operations.
- Data Transfer Objects (DTOs): Classes for data encapsulation and transfer.
- API Resources: Resource classes for JSON serialization.
- Policies: Authorization logic for the model.
- Selectors: Helper methods to fetch specific data.
- Notifications: Notification classes related to the model.
- Events and Listeners: Event-driven architecture support.
- Data Mappers: Classes for mapping data to different formats.
- Eloquent Models: Model class for database operations.
- Repositories: Repository pattern for data access logic.
- Request Classes: Validation logic for input data.
- Service Classes: Business logic encapsulation.
- Query Scopes: Reusable query logic.
- Traits: Shared functionality using traits.
- Query Filters: Classes for filtering query results.
Features of the Package
Standardized API Responses
The package provides a trait with methods to handle standardized API responses, making error handling and success responses consistent.
Example: Success Response
Error Handling
The package includes methods to handle and format error responses uniformly.
Example: Error Response
Transaction Management
The package supports executing code within a database transaction and handling the response.
Example: Transactional Code
Paginated Responses
Automatically sets paginated responses with relevant metadata.
Example: Paginated Response
HTTP Status Codes
Provides constants for common HTTP status codes, ensuring consistency in API responses.
Complete Example
Creating a Product
Retrieving All Products
Retrieving a Single Product
Updating a Product
Deleting a Product
Contributing
Contributions are welcome! Feel free to submit issues and pull requests for improvements.
License
This package is open-sourced software licensed under the MIT license.
All versions of lara-crud with dependencies
laravel/framework Version ^9.0 || ^10.0
spatie/laravel-query-builder Version ^4.0 || ^5.0 || ^6.0