Download the PHP package mouhamad-mahfouz/helpers without Composer
On this page you can find all versions of the php package mouhamad-mahfouz/helpers. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mouhamad-mahfouz/helpers
More information about mouhamad-mahfouz/helpers
Files in mouhamad-mahfouz/helpers
Package helpers
Short Description Laravel API development helpers by Mahfouz
License MIT
Informations about the package helpers
Mahfouz Helpers
A Laravel package that provides helpful tools and utilities for API development. This package includes service classes, API controller generators, and other utilities to streamline your Laravel API development process.
Compatibility
This package supports Laravel 11 and 12.
Installation
You can install the package via composer:
The package will automatically register its service provider.
Features
Format Response Trait
Easily format consistent JSON responses in your controllers:
Available methods:
successResponse(?string $message = null, mixed $data = null): arrayerrorResponse(string $message): array
Base Service Class
The package provides a BaseService class that implements common CRUD operations for your models. It integrates with Spatie's Query Builder for advanced filtering and pagination.
API Controller Generator
Generate API controllers with a single command:
Options:
--methods: Comma-separated list of methods to generate (index, store, show, update, destroy)--resource: Fields to include in the resource--store-request: Fields for the store request validation--update-request: Fields for the update request validation
You can also use --methods=* to generate all standard CRUD methods.
Service Generator
Generate service classes for your models:
This will create a service class that extends the BaseService class and is configured for your model.
Media Cleanup Command
Clean up unused media files that are not referenced in the media table:
This command will:
- Delete media files that exist in the storage but are not referenced in the database
- Remove empty directories after file cleanup
Note: This command requires the Spatie Media Library package to be installed and configured in your application.
Usage
Services
Once you've created a service, you can use it in your controllers:
Available Service Methods
The BaseService class provides the following methods:
get(?callable $callback = null): Get all records with optional callback for query customizationpaginate(array $with = [], $per_page = null, ?callable $callback = null): Paginate records with eager loadingstore(object $data): Create a new recordupdate(Model $model, object $data): Update an existing recorddestroy(Model $model): Delete a record
Customization
You can publish the stubs to customize them:
This will publish the stubs to stubs/mahfouz in your application.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
The MIT License (MIT). Please see License File for more information.
All versions of helpers with dependencies
illuminate/support Version ^11.0|^12.0
spatie/laravel-query-builder Version ^6.3
spatie/laravel-medialibrary Version ^10.0
illuminate/console Version ^11.0|^12.0