OpinHelpers
is a bellow "Swiss Army Knife" level set of opinionated Helper libs (hence the opin[h]el^^) covering some of the most annoying aspects of php programing, such as UTF8 string manipulation, arbitrary precision Mathematics or properly locking a file.
OpinHelpers
libs are opinionated in several ways and do not aim at being universal, but they should hopefully be pretty useful in many IRL cases.
OpinHelpers
can be installed using composer:
composer require "fab2s/opinhelpers"
If you want to specifically install the php >=7.2.0 version, use:
composer require "fab2s/opinhelpers" ^1
If you want to specifically install the php 5.6/7.1 version, use:
composer require "fab2s/opinhelpers" ^0
There are mostly (see Compatibility) no changes other than further typing from 0.x to 1.x
OpinHelpers
is just requiring individual libraries that each has its own repository and documentation
- Math: High precision base10 fluent helper with a rather strict approach
- Utf8: Purely static UTF8 Helper
- Strings: Purely static String Helper to handle more advanced utf8 string manipulations
- Bom: Purely static zero dependencies BOM Helper to handle unicode BOMs
- FileLock: fluent file locking helper
OpinHelpers
comes with a deprecated.php
file you can require
in your project should you need to keep using the old namespace
from before v1
require 'vendor/fab2s/opinHelpers/src/deprecated.php';
// no you can
use fab2s\OpinHelpers\Math;
// same as
use fab2s\Math\Math;
// old version will be marked as deprecated
$number = fab2s\OpinHelpers\Math::numder('42');
// new one is ok with full type hints
$number = fab2s\Math\Math::numder('42');
No notable changes where made to the methods names or signature, but there was some small return types changes (false vs null in
Utf8
), one edge value (Utf8::chr(0) = "\0"
) and one bug withUTF-32-LE
BOM detection. It should be ok in most of the cases but it is still preferable to refactor to newnamespace
and review the usage
OpinHelpers
is tested against php 7.2, 7.3, 7.4 and 8.0
Contributions are welcome, do not hesitate to open issues and submit pull requests.
Each of OpinHelpers
components are open-sourced software licensed under the MIT license