https://github.com/fab2s/opinhelpers
A collection of simple, opinionated yet hopefully helpful PHP Helpers
https://github.com/fab2s/opinhelpers
bom lockfile math php-helpers string utf8 utf8-string-manipulation
Last synced: about 1 month ago
JSON representation
A collection of simple, opinionated yet hopefully helpful PHP Helpers
- Host: GitHub
- URL: https://github.com/fab2s/opinhelpers
- Owner: fab2s
- License: mit
- Created: 2018-04-07T08:33:36.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-04-23T22:54:18.000Z (about 1 year ago)
- Last Synced: 2024-04-23T23:53:55.188Z (about 1 year ago)
- Topics: bom, lockfile, math, php-helpers, string, utf8, utf8-string-manipulation
- Language: PHP
- Homepage:
- Size: 129 KB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OpinHelpers
[](https://travis-ci.com/fab2s/OpinHelpers) [](https://packagist.org/packages/fab2s/opinhelpers) [](https://packagist.org/packages/fab2s/opinhelpers) [](https://packagist.org/packages/fab2s/opinhelpers) [](http://makeapullrequest.com) [](https://packagist.org/packages/fab2s/opinhelpers)
`OpinHelpers` is a bellow "Swiss Army Knife" level set of opinionated Helper libs (hence the [opin[h]el](https://en.wikipedia.org/wiki/Opinel_knife)^^) 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.
## Installation
`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](#compatibility)) no changes other than further typing from 0.x to 1.x
## Documentation
`OpinHelpers` is just requiring individual libraries that each has its own repository and documentation
- [Math](https://github.com/fab2s/Math): High precision base10 fluent helper with a rather strict approach
- [Utf8](https://github.com/fab2s/Utf8): Purely static UTF8 Helper
- [Strings](https://github.com/fab2s/Strings): Purely static String Helper to handle more advanced utf8 string manipulations
- [Bom](https://github.com/fab2s/Bom): Purely static zero dependencies BOM Helper to handle unicode BOMs
- [FileLock](https://github.com/fab2s/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**
```php
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
## Requirements
`OpinHelpers` is tested against php 7.2, 7.3, 7.4 and 8.0
## Contributing
Contributions are welcome, do not hesitate to open issues and submit pull requests.
## License
Each of `OpinHelpers` components are open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT)