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
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.