{"id":15296197,"url":"https://github.com/fab2s/opinhelpers","last_synced_at":"2025-10-06T15:59:33.242Z","repository":{"id":56980948,"uuid":"128510502","full_name":"fab2s/OpinHelpers","owner":"fab2s","description":"A collection of simple, opinionated yet hopefully helpful PHP Helpers","archived":false,"fork":false,"pushed_at":"2024-04-23T22:54:18.000Z","size":132,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-24T12:48:17.875Z","etag":null,"topics":["bom","lockfile","math","php-helpers","string","utf8","utf8-string-manipulation"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fab2s.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-07T08:33:36.000Z","updated_at":"2024-04-23T22:53:35.000Z","dependencies_parsed_at":"2024-09-30T18:09:45.420Z","dependency_job_id":"8ee5b35f-446a-44ff-835b-c0a473bce545","html_url":"https://github.com/fab2s/OpinHelpers","commit_stats":{"total_commits":42,"total_committers":2,"mean_commits":21.0,"dds":"0.023809523809523836","last_synced_commit":"96921a8c7470c5dc87de8d4fbbcb0311c06cd644"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/fab2s/OpinHelpers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fab2s%2FOpinHelpers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fab2s%2FOpinHelpers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fab2s%2FOpinHelpers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fab2s%2FOpinHelpers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fab2s","download_url":"https://codeload.github.com/fab2s/OpinHelpers/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fab2s%2FOpinHelpers/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278638103,"owners_count":26019943,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bom","lockfile","math","php-helpers","string","utf8","utf8-string-manipulation"],"created_at":"2024-09-30T18:09:43.288Z","updated_at":"2025-10-06T15:59:33.197Z","avatar_url":"https://github.com/fab2s.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpinHelpers\n\n[![Build Status](https://travis-ci.com/fab2s/OpinHelpers.svg?branch=master)](https://travis-ci.com/fab2s/OpinHelpers) [![Total Downloads](https://poser.pugx.org/fab2s/opinhelpers/downloads)](https://packagist.org/packages/fab2s/opinhelpers) [![Monthly Downloads](https://poser.pugx.org/fab2s/opinhelpers/d/monthly)](https://packagist.org/packages/fab2s/opinhelpers) [![Latest Stable Version](https://poser.pugx.org/fab2s/opinhelpers/v/stable)](https://packagist.org/packages/fab2s/opinhelpers) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](http://makeapullrequest.com) [![License](https://poser.pugx.org/fab2s/opinhelpers/license)](https://packagist.org/packages/fab2s/opinhelpers)\n\n`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.\n\n`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.\n\n## Installation\n\n`OpinHelpers` can be installed using composer:\n\n```\ncomposer require \"fab2s/opinhelpers\"\n```\n\nIf you want to specifically install the php \u003e=7.2.0 version, use:\n\n```\ncomposer require \"fab2s/opinhelpers\" ^1\n```\n\nIf you want to specifically install the php 5.6/7.1 version, use:\n\n```\ncomposer require \"fab2s/opinhelpers\" ^0\n```\n\nThere are mostly ([see Compatibility](#compatibility)) no changes other than further typing from 0.x to 1.x\n\n## Documentation\n\n`OpinHelpers` is just requiring individual libraries that each has its own repository and documentation\n\n- [Math](https://github.com/fab2s/Math): High precision base10 fluent helper with a rather strict approach\n- [Utf8](https://github.com/fab2s/Utf8): Purely static UTF8 Helper\n- [Strings](https://github.com/fab2s/Strings): Purely static String Helper to handle more advanced utf8 string manipulations\n- [Bom](https://github.com/fab2s/Bom): Purely static zero dependencies BOM Helper to handle unicode BOMs\n- [FileLock](https://github.com/fab2s/FileLock): fluent file locking _helper_\n\n## Compatibility\n\n`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**\n\n```php\n\nrequire 'vendor/fab2s/opinHelpers/src/deprecated.php';\n\n// no you can \nuse fab2s\\OpinHelpers\\Math;\n\n// same as \nuse fab2s\\Math\\Math;\n\n// old version will be marked as deprecated \n$number = fab2s\\OpinHelpers\\Math::numder('42');\n\n// new one is ok with full type hints\n$number = fab2s\\Math\\Math::numder('42');\n\n```\n\n\u003e 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\n\n## Requirements\n\n`OpinHelpers` is tested against php 7.2, 7.3, 7.4 and 8.0\n\n## Contributing\n\nContributions are welcome, do not hesitate to open issues and submit pull requests.\n\n## License\n\nEach of `OpinHelpers` components are open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffab2s%2Fopinhelpers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffab2s%2Fopinhelpers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffab2s%2Fopinhelpers/lists"}