laravel-support maintained by efureev
- php >=8.4
- efureev/support ^5.2
- illuminate/database ^13.0
- php >=8.4
- efureev/support ^5.2
- illuminate/database ^13.0
- php >=8.4
- efureev/support ^5.2
- illuminate/database ^13.0
- php ^8.2
- efureev/support ^4.27 || ^5.0
- illuminate/database ^12.0
- php ^8.2
- efureev/support ^4.27 || ^5.0
- illuminate/database ^11.0
- php ^8.2
- efureev/support ^v4.27
- illuminate/database ^11.0
- php ^8.1
- efureev/support ^4.17
- illuminate/database ^10.1
- php ^8.1
- efureev/support ^4.17
- illuminate/database ^10.1
- php ^8.1 || ^8.2
- efureev/support ^4.17
- illuminate/database ^10.1
- php ^8.1 || ^8.2
- efureev/support ^4.17
- illuminate/database ^10.1
- php ^8.1 | ^8.2
- efureev/support ^4.17
- illuminate/database ^10.1
- php ^8.0 || ^8.1
- efureev/support ^4.13
- illuminate/database ^8.78|^9.25
- php ^8.0 || ^8.1
- efureev/support ^4.13
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.8
- illuminate/database ^8.78
- php ^8.0
- efureev/support ^4.4.3
- illuminate/database ^8.70
- php ^8.0
- efureev/support ^4.4.3
- illuminate/database ^8.70
- php ^8.0
- efureev/support ^4.4.3
- illuminate/database ^8.70
- php ^8.0
- efureev/support ^4.4.3
- illuminate/database ^8.70
- php ^8.0
- efureev/support ^4.4.3
- illuminate/database ^8.70
- php ^8.0
- efureev/support ^4.4.3
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.4.3
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.4.3
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1.2
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1.2
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1.2
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1.2
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1.2
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1.2
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1.2
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1.2
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1.2
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1.2
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1
- illuminate/database ^8.38
- php ^8.0
- efureev/support ^4.1
- illuminate/database ^8.38
- php ^7.4|^8.0
- ext-json *
- efureev/support ^3.0
- illuminate/database ^7.30.3|^8.22.1
- php ^7.4|^8.0
- ext-json *
- efureev/support ^3.0
- illuminate/database ^7.30.3|^8.22.1
- php ^7.4|^8.0
- ext-json *
- efureev/support ^3.0
- illuminate/database ^7.30.3|^8.22.1
- php ^7.4|^8.0
- ext-json *
- efureev/support ^3.0
- illuminate/database ^7.30.3|^8.22.1
- php ^7.4|^8.0
- ext-json *
- efureev/support ^3.0
- illuminate/database ^7.30.3|^8.22.1
- php ^7.4|^8.0
- ext-json *
- efureev/support ^3.0
- illuminate/database ^7.30.3|^8.22.1
- php ^7.4|^8.0
- ext-json *
- efureev/support ^3.0
- illuminate/database ^7.30.3|^8.22.1
- php >=7.3
- ext-json *
- efureev/support ^2.12
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.12
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.12
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.12
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.12
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.12
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.12
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.12
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.12
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.12
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.12
- illuminate/database ^7.0
- php >=7.4
- ext-json *
- efureev/support ^2.12
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.10
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.10
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.10
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.10
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.10
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.10
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.10
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.10
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.10
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.10
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.10
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.10
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.10
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.6
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.6
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.6
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.6
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.6
- illuminate/database ^7.0
- php >=7.3
- ext-json *
- efureev/support ^2.6
- illuminate/database ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.6
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.6
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.6
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.6
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.6
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.6
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.6
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.6
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.5.0
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.4
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.4
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.4
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.4
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.4
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.4
- illuminate/database ^6.11 | ^7.0
- php >=7.2
- ext-json *
- efureev/support ^2.4
- illuminate/database ^6.11 | ^7.0
PHP Laravel Support
A collection of helpers, traits, validation rules and service-provider utilities for modern Laravel applications.
Requirements
- PHP
>= 8.4 - Laravel
>= 13.0
Install
composer require efureev/laravel-support
The package is auto-discovered, no manual provider registration is required.
Features
The full documentation lives in /docs. Below is a short overview.
Validation rules — Php\Support\Laravel\Rules
Delimited— validates a delimited string (e.g. comma-separated emails), withmin/max, custom separator, duplicate control and trimming options.Authorized— validates that the current user is authorized (can) to use a given model by its key.HasValidate— helper trait that adds reusablevalidate/validateValuehelpers.
Eloquent traits — Php\Support\Laravel\Traits
Traits\Models\PostgresArray— query scopes for searching inside native PostgreSQL arrays (wherePgArrayContains,wherePgArrayContainsAny,wherePgArrayContainsOnly,wherePgArrayOverlapWith). See\Php\Support\Laravel\Tests\TestClasses\Models\PgArrayModel::scopeByTag.Traits\Models\HasModelEntityCache— cache layer for model entities (with pluggable cachers).Traits\Models\AllowToExecute— guard helpers for model actions.Traits\Models\WrapQuery— query-wrapping helpers.Traits\Modelable/Traits\ModelQueryable— bind an Eloquent model into a request/class.Traits\Requests\RequestModelable— model resolution from requests.Traits\Resources\HasMergeAdditional— merge additional data into API resources.
Sorting — Php\Support\Laravel\Sorting
Sorting\Model\Sortable— model trait to make records sortable (works with drag'n'drop).Sorting\Database\Sortable— migration helpers (columnSortingPosition).
See docs/sortable.md.
Service providers — Php\Support\Laravel\ServiceProviders
AbstractServiceProvider aggregates a set of helper traits: HasCommands, HasPolicies,
HasPathHelpers, HasRegisters, HasBooting. See docs/sp.md.
Pagination & Repositories
Pagination\PaginatedResourceArray— nested paginated resource collections. See docs/pagination.md.Repositories\AbstractRepository— base Eloquent repository. See docs/repository.md.
Global helpers — src/Global/base.php
Autoloaded functions: toCollect(), objectToArray(). See docs/global.md.
Test
Local
composer test # PHPCS + PHPUnit
composer test-cover # with coverage
Docker
Runs the full test gate (PHPCS + PHPUnit) against PostgreSQL 18 inside containers. No local PostgreSQL installation is required.
composer test:docker
# or
docker compose up --build --abort-on-container-exit --exit-code-from app
Development
This is a library, so composer.lock is intentionally not committed and "lock": false is set in
composer.json. Every CI run (and local composer update) resolves the latest matching dependency versions,
which surfaces incompatibilities with new Laravel/PHP releases early. Pin versions in the consuming application,
not here.
Changelog
See CHANGELOG.md.
License
The MIT License (MIT). See LICENSE.