A collection of helpers, traits, validation rules and service-provider utilities for modern Laravel applications.
- PHP
>= 8.4 - Laravel
>= 13.0
composer require efureev/laravel-supportThe package is auto-discovered, no manual provider registration is required.
The full documentation lives in /docs. Below is a short overview.
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.
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\Model\Sortable— model trait to make records sortable (works with drag'n'drop).Sorting\Database\Sortable— migration helpers (columnSortingPosition).
See docs/sortable.md.
AbstractServiceProvider aggregates a set of helper traits: HasCommands, HasPolicies,
HasPathHelpers, HasRegisters, HasBooting. See docs/sp.md.
Pagination\PaginatedResourceArray— nested paginated resource collections. See docs/pagination.md.Repositories\AbstractRepository— base Eloquent repository. See docs/repository.md.
Autoloaded functions: toCollect(), objectToArray(). See docs/global.md.
composer test # PHPCS + PHPUnit
composer test-cover # with coverageRuns 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 appThis 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.
See CHANGELOG.md.
The MIT License (MIT). See LICENSE.