datalinx / php-utils
Collection of common helper functions organized into fluent classes
Requires
- php: >=7.4
- ext-intl: *
- ext-mbstring: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.13
- giggsey/libphonenumber-for-php: ^8.13
- nesbot/carbon: ^2.71
- phpunit/phpunit: ^9.5.26
- picqer/php-barcode-generator: ^2.2.4
Suggests
- ext-gd: For FluentBarcode JPG and PNG generators, GD or Imagick is required
- ext-imagick: For FluentBarcode JPG and PNG generators, GD or Imagick is required
- giggsey/libphonenumber-for-php: Required for the phone number helper
- nesbot/carbon: Required for the Carbon date/time helpers
- picqer/php-barcode-generator: Required to use FluentBarcode
README
About
This package is a collection of classes that provide a fluent OOP interface to manipulate common primitive data types such as strings, numbers, arrays and other structures by providing a lean wrapper around libraries from other packages.
See the changelog here.
Requirements
- PHP >= 7.4
mbstring
andintl
PHP extensionspicqer/php-barcode-generator
package, if you want to use theFluentBarcode
wrapper- Linux server is supported
Installing
Download it with composer:
composer require datalinx/php-utils
If you want to use the FluentBarcode
wrapper (which is really cool!), install the additional dependency:
composer require picqer/php-barcode-generator
Usage
With an out-of-the-box installation, you must create an instance of each utility and then interact with it.
$string = new \DataLinx\PhpUtils\Fluent\FluentString('My string'); echo $string->clean(); // Outputs: My string
However, if you include the src/fluent_helpers.php
file, you can use the helper functions to create new instances in a leaner way:
echo str('My string')->clean(); // Outputs: My string
You can also create your own helper functions to create new instances, if the ones this library provides do not suite you or already exist in your project. The library-provided helper functions are not loaded by default.
Contributing
If you have some suggestions how to make this package better, please open an issue or even better, submit a pull request.
Should you want to contribute, please see the development guidelines in the DataLinx PHP package template.
Changelog
All notable changes to this project are automatically documented in the CHANGELOG.md file using the release workflow, based on the release-please GitHub action.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
For all this to work, commit messages must follow the Conventional commits specification, which is also enforced by a Git hook.