efureev / laravel-support
PHP Support Package for Laravel
Requires
- php: >=8.4
- efureev/support: ^5.2
- illuminate/database: ^13.0
Requires (Dev)
- ergebnis/composer-normalize: ^2.52.0
- fakerphp/faker: ^1.23
- marcocesarato/php-conventional-changelog: ^1.17
- orchestra/testbench: ^11.1
- phpstan/phpstan: ^2.2
- phpunit/phpunit: ^13.0
- squizlabs/php_codesniffer: ^3.9
- dev-master
- v4.x-dev
- v4.0.0
- v3.0.0
- v2.1.0
- v2.0.0
- v1.20
- v1.19.1
- v1.19.0
- v1.18.1
- v1.18.0
- v1.17.1
- v1.17.0
- v1.16.5
- v1.16.4
- v1.16.3
- v1.16.2
- v1.16.1
- v1.16.0
- v1.15.2
- v1.15.1
- v1.15.0
- v1.14.1
- v1.14.0
- v1.13.3
- v1.13.2
- v1.13.1
- v1.13.0
- v1.12.2
- v1.12.1
- v1.12.0
- v1.11.1
- v1.11.0
- v1.10.3
- v1.10.2
- v1.10.1
- v1.10.0
- v1.9.0
- v1.8.0
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.1
- v1.6.0
- v1.5.0
- v1.4.0
- v1.3.1
- v1.3.0
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.1
- v1.0.0
- v0.11.5
- v0.11.4
- v0.11.3
- v0.11.2
- v0.11.1
- v0.11.0
- v0.10.3
- v0.10.2
- v0.10.1
- v0.10.0
- v0.9.6
- v0.9.5
- v0.9.4.2
- v0.9.4.1
- v0.9.4
- v0.9.3.2
- v0.9.3.1
- v0.9.3
- v0.9.2
- v0.9.1
- v0.9.0
- v0.8.0
- v0.7.9
- v0.7.8
- v0.7.7
- v0.7.6
- v0.7.5
- v0.7.4
- v0.7.3
- v0.7.2
- v0.7.1
- v0.7.0
- v0.6.0
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.4
- v0.3.3
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.1
- v0.2.0
- v0.1.0
- v0.0.3
- v0.0.2
- v0.0.1
- dev-php7
- dev-add-sortable
This package is auto-updated.
Last update: 2026-06-04 17:15:50 UTC
README
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.