drago-ex / utils
ArrayHash with conversion to plain arrays (including uppercase keys) and a camelCase to snake_case converter.
v2.1.0
2026-10-17 13:17 UTC
Requires
- php: >=8.3 <9
- nette/utils: ^4.0
Requires (Dev)
- nette/bootstrap: ^3.2
- nette/tester: ^2.5
- phpstan/phpstan-nette: ^2.0
- tracy/tracy: ^2.10
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
English | Čeština
Small helpers for Nette applications: an ArrayHash that converts itself to an array, and a
conversion from camelCase to snake_case.
Requirements
- PHP >= 8.3, < 9
- Nette Framework
- Composer
Installation
composer require drago-ex/utils
ExtraArrayHash
Drago\Utils\ExtraArrayHash extends Nette\Utils\ArrayHash, for example as a parent of form value classes.
use Drago\Utils\ExtraArrayHash; $data = ExtraArrayHash::from(['name' => 'John', 'address' => ['city' => 'Prague']]); // Plain array, nested hashes included: ['name' => 'John', 'address' => ['city' => 'Prague']] $data->toArray(); // Same, with top-level keys in uppercase (e.g. for Oracle): ['NAME' => 'John', 'ADDRESS' => [...]] $data->toArrayUpper();
CaseConverter
Converts camelCase or PascalCase to snake_case:
use Drago\Utils\CaseConverter; CaseConverter::snakeCase('versionName'); // version_name CaseConverter::snakeCase('version2Name'); // version2_name CaseConverter::snakeCase('HTMLParser'); // html_parser CaseConverter::snakeCase('userID'); // user_id