zairakai / laravel-essentials
Essential Laravel helpers and Str macros with zero duplication and practical defaults
Package info
gitlab.com/zairakai/php-packages/laravel-essentials
pkg:composer/zairakai/laravel-essentials
v1.0.0
2026-03-11 19:52 UTC
Requires
- php: ^8.3
- illuminate/collections: ^11.0 || ^12.0
- illuminate/support: ^11.0 || ^12.0
- laravel/framework: ^11.0 || ^12.0
- spatie/laravel-collection-macros: ^7.0 || ^8.0
Requires (Dev)
- driftingly/rector-laravel: ^2.1
- ergebnis/composer-normalize: ^2.49
- larastan/larastan: ^3.9
- laravel/pint: ^1.27
- nunomaduro/phpinsights: ^2.13
- orchestra/testbench: ^9.0 || ^10.0
- phpmetrics/phpmetrics: ^2.9
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^12.0
- rector/rector: ^2.3
- zairakai/laravel-dev-tools: ^1.0
Suggests
- ergebnis/composer-normalize: Automated composer.json normalization
README
Essential Laravel helpers and Str macros with zero duplication and practical defaults.
Features
- Boolean helpers —
is_true(),is_false() - Math helpers —
is_even(),is_odd() - String helpers —
generate_random_string() - Format helpers —
number_format_locale() - Filesystem helpers —
sanitize_filename() - Validation helpers —
is_valid_email(),is_valid_ip(),is_valid_mac(),is_valid_base64() - Array helpers —
recursive_array_replace() - Str macros —
Str::isEmail(),Str::isIp(),Str::isMac(),Str::isBase64() - Stringable macros —
Str::of(...)->isEmail()and equivalents - Auto-loaded — helpers and macros registered automatically via the service provider
Install
composer require zairakai/laravel-essentials
No additional configuration needed — helpers are available globally after install.
Usage
// Boolean helpers
is_true($value); // strict === true
is_false($value); // strict === false
// Math helpers
is_even(2); // true
is_odd(3); // true
// Number formatting
number_format_locale(1234.56, 2); // '1 234,56'
// String helper
generate_random_string(10, 'ALPHA'); // e.g. 'QWERTYUIOP'
// Validation helpers
is_valid_email('alice@example.com'); // true
is_valid_ip('192.168.1.1'); // true
is_valid_mac('00:1A:2B:3C:4D:5E'); // true
is_valid_base64('dGVzdA=='); // true
// Array helper
recursive_array_replace('foo', 'bar', ['key' => 'foo value']); // ['key' => 'bar value']
// Str macros
Str::isEmail('alice@example.com'); // true
Str::isIp('192.168.1.1'); // true
Str::isMac('00:1A:2B:3C:4D:5E'); // true
Str::isBase64('dGVzdA=='); // true
Development
make quality # pint + phpstan + rector + insights + markdownlint + shellcheck
make quality-fast # pint + phpstan + markdownlint
make test # phpunit / pest
Contributing
Contributions are welcome. Please read CONTRIBUTING.md for the project-specific workflow and quality standards.
Getting Help
Made with ❤️ by Zairakai