lexide / k-switch
A PHP library to switch cases of a property or element name
Installs: 5 446
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: >=8.0
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-11-06 15:09:59 UTC
README
A PHP library to switch cases for property, field and element names
Say what, now?
When dealing with different sources of data, it is often the case that field names will be in one case, typically "snake_case", and PHP classes will use "camelCase" for property names. Mapping between the two is non-trivial to do by hand.
K-Switch is a utility library to allow case switching with the minimum of fuss.
Installation
Via composer OfC!
composer require lexide/k-switch
How to use
Any class that needs to switch cases can use the NameConverterTrait
. This trait adds private methods to convert
name strings into "StudlyCaps", "camelCase", "snake_case", "dash-case" and any other case that splits words with delimiters
(spaces, pipes, etc...)
class Converter { use Lexide\KSwitch\NameConverterTrait; public function convertStudly($string) { return $this->toStudlyCaps($string); } public function convertCamel($string) { return $this->toCamelCase($string); } public function convertSnake($string) { return $this->toSplitCase($string); } } $converter = new Converter(); $converter->convertStudly("aCamelCaseName"); // ACamelCaseName $studly = $converter->convertStudly("a_snake_case_name"); // returns "ASnakeCaseName" $converter->convertSnake($studly); // back to "a_snake_case_name"
... and that's it?
Yup! Enjoy!