OpinHelpers
, (*1)
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., (*2)
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., (*3)
Installation
OpinHelpers
can be installed using composer:, (*4)
composer require "fab2s/opinhelpers"
If you want to specifically install the php >=7.2.0 version, use:, (*5)
composer require "fab2s/opinhelpers" ^1
If you want to specifically install the php 5.6/7.1 version, use:, (*6)
composer require "fab2s/opinhelpers" ^0
There are mostly (see Compatibility) no changes other than further typing from 0.x to 1.x, (*7)
Documentation
OpinHelpers
is just requiring individual libraries that each has its own repository and documentation, (*8)
-
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
Compatibility
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, (*9)
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 with UTF-32-LE
BOM detection. It should be ok in most of the cases but it is still preferable to refactor to new namespace
and review the usage, (*10)
Requirements
OpinHelpers
is tested against php 7.2, 7.3, 7.4 and 8.0, (*11)
Contributing
Contributions are welcome, do not hesitate to open issues and submit pull requests., (*12)
License
Each of OpinHelpers
components are open-sourced software licensed under the MIT license, (*13)