mll-lab / php-utils
Shared PHP utility functions of MLL
Requires
- php: ^7.4 || ^8
- ext-calendar: *
- ext-simplexml: *
- illuminate/support: ^8.73 || ^9 || ^10 || ^11 || ^12
- mll-lab/str_putcsv: ^1
- nesbot/carbon: ^2.62.1 || ^3
- ramsey/uuid: ^3 || ^4
- thecodingmachine/safe: ^1 || ^2 || ^3
Requires (Dev)
- ergebnis/composer-normalize: ^2.45
- jangregor/phpstan-prophecy: ^1.0.2 || ^2.1.1
- larastan/larastan: ^1.0.4 || ^2.9.14 || ^3.1
- mll-lab/graphql-php-scalars: ^6.4
- mll-lab/php-cs-fixer-config: ^5.10
- orchestra/testbench: ^6.47.1 || ^7.52 || ^8.33 || ^9.11 || ^10
- phpoffice/phpspreadsheet: ^1.2 || ^5.1
- phpstan/extension-installer: ^1
- phpstan/phpstan: ^1.8.11 || ^2.1.6
- phpstan/phpstan-deprecation-rules: ^1 || ^2.0.1
- phpstan/phpstan-phpunit: ^1 || ^2.0.4
- phpstan/phpstan-strict-rules: ^1 || ^2.0.3
- phpunit/phpunit: ^9.6.22 || ^10.5.45 || ^11.5.10 || ^12.0.5
- rector/rector: ^1.2.10 || ^2.0.9
- spaze/phpstan-disallowed-calls: ^2 || ^4.4
- thecodingmachine/phpstan-safe-rule: ^1.2.0
Suggests
- mll-lab/graphql-php-scalars: To use the provided scalar types for GraphQL servers, requires version ^6.3
- phpoffice/phpspreadsheet: Required if using QiaxcelImport
- spaze/phpstan-disallowed-calls: Required when using the PHPStan configuration from rules.neon directly or through the extension installer
This package is auto-updated.
Last update: 2026-05-29 13:56:44 UTC
README
Shared PHP utility functions of MLL
Installation
Install through composer
composer require mll-lab/php-utils
Usage
See tests.
Holidays
You can add custom holidays by registering a method that returns a map of holidays for a given year. Set this up in a central place that always runs before your application, e.g. a bootstrap method.
use MLL\Holidays\BavarianHolidays;
BavarianHolidays::$loadUserDefinedHolidays = static function (int $year): array {
switch ($year) {
case 2019:
return ['22.03' => 'Day of the Tentacle'];
default:
return [];
}
};
Custom holidays have precedence over the holidays inherent to this library.
PHPStan extension
This library provides a PHPStan extension that is either registered through PHPStan Extension Installer
or registered manually by adding the following to your phpstan.neon:
includes:
+- vendor/mll-lab/php-utils/extension.neon
+- vendor/mll-lab/php-utils/rules.neon
Requires spaze/phpstan-disallowed-calls.
Changelog
See CHANGELOG.md.
Contributing
See CONTRIBUTING.md.
License
This package is licensed using the MIT License.