beecubu / php-foundation-helpers
Some basic helpers for Arrays, Strings, Dates, CSVs, HTMLs, etc…
v1.11.1
2026-02-21 01:19 UTC
Requires
- php: >=7.1.0
- ext-mbstring: *
README
Utility helpers for common tasks: arrays, strings, dates, CSV, HTML, IDs, email/phone validation, and regex helpers.
Functions are autoloaded as plain functions (no classes) under the Beecubu\Foundation\Helpers\* namespaces.
Requirements
- PHP 7.1+
ext-mbstring
Installation
composer require beecubu/php-foundation-helpers
Usage
Arrays
use function Beecubu\Foundation\Helpers\Arrays\array_move_item;
use function Beecubu\Foundation\Helpers\Arrays\array_ensure_value;
use function Beecubu\Foundation\Helpers\Arrays\array2html;
array_move_item($items, 2, 0);
array_ensure_value($tags, 'new', true);
$html = array2html($rows, true);
Strings
use function Beecubu\Foundation\Helpers\String\trim_all;
use function Beecubu\Foundation\Helpers\String\removeAccents;
use function Beecubu\Foundation\Helpers\String\mb_ucwords;
use function Beecubu\Foundation\Helpers\String\base64url_encode;
use function Beecubu\Foundation\Helpers\String\parseInt;
$clean = trim_all(" a b \\n");
$ascii = removeAccents("Àéï");
$title = mb_ucwords("hello world");
$token = base64url_encode("abc");
$digits = parseInt("+34 600 123 123");
Dates
use function Beecubu\Foundation\Helpers\DateTime\compareDates;
use function Beecubu\Foundation\Helpers\DateTime\dateIsToday;
use function Beecubu\Foundation\Helpers\DateTime\dateAsStartOfDay;
use function Beecubu\Foundation\Helpers\DateTime\dateFromString;
compareDates(new DateTime('2024-01-01'), new DateTime('2024-01-02'));
dateIsToday(new DateTime());
$start = dateAsStartOfDay(new DateTime());
$parsed = dateFromString('2024-02-04');
CSV
use function Beecubu\Foundation\Helpers\CSV\parse_csv;
use function Beecubu\Foundation\Helpers\CSV\array2csv;
parse_csv('users.csv', function (array $row) {
// ...
});
$csv = array2csv($rows, true);
HTML
use function Beecubu\Foundation\Helpers\HTML\decode_all_html_entities;
use function Beecubu\Foundation\Helpers\HTML\hexColorToRGBA;
use function Beecubu\Foundation\Helpers\HTML\splitHtmlIntoBreakElements;
$text = decode_all_html_entities($html);
$rgba = hexColorToRGBA('#ff00aa80');
$parts = splitHtmlIntoBreakElements($html, true);
IDs
use function Beecubu\Foundation\Helpers\Id\uniqid;
use function Beecubu\Foundation\Helpers\Id\objectId;
use function Beecubu\Foundation\Helpers\Id\uuid;
use function Beecubu\Foundation\Helpers\Id\validateObjectId;
$id = uniqid(12);
$mongoId = objectId();
$uuid = uuid();
$ok = validateObjectId($mongoId);
Email / Phone
use function Beecubu\Foundation\Helpers\Email\isValid as isValidEmail;
use function Beecubu\Foundation\Helpers\Phone\phoneNumberParser;
use function Beecubu\Foundation\Helpers\Phone\phoneNumberFormatter;
isValidEmail('user@example.com');
$raw = phoneNumberParser('+34 600 123 123');
$pretty = phoneNumberFormatter($raw, '34');
RegExp
use function Beecubu\Foundation\Helpers\RegExp\accentToRegex;
$regex = accentToRegex('canción'); // accent-insensitive regex fragment