jawira / case-converter
Convert strings between 13 naming conventions: Snake case, Camel case, Pascal case, Kebab case, Ada case, Train case, Cobol case, Macro case, Upper case, Lower case, Sentence case, Title case and Dot notation.
Installs: 4 847 122
Dependents: 79
Suggesters: 3
Security: 0
Stars: 170
Watchers: 5
Forks: 8
Open Issues: 0
Requires
- php: >=7.4
- ext-mbstring: *
Requires (Dev)
- behat/behat: ^3.0
- phpstan/phpstan: ^v2
- phpunit/phpunit: ^9.0
Suggests
- pds/skeleton: PHP Package Development Standards
- phing/phing: PHP Build Tool
This package is auto-updated.
Last update: 2025-02-21 20:09:46 UTC
README
Use this library to convert string between:
Name | Method | Output example |
---|---|---|
🐪 Camel case | toCamel() |
myNameIsBond |
👨🏫 Pascal case | toPascal() |
MyNameIsBond |
🐍 Snake case | toSnake() |
my_name_is_bond |
👩🏫 Ada case | toAda() |
My_Name_Is_Bond |
Ⓜ️ Macro case | toMacro() |
MY_NAME_IS_BOND |
🥙 Kebab case | toKebab() |
my-name-is-bond |
🚂 Train case | toTrain() |
My-Name-Is-Bond |
🏦 Cobol case | toCobol() |
MY-NAME-IS-BOND |
🔡 Lower case | toLower() |
my name is bond |
🔠 Upper case | toUpper() |
MY NAME IS BOND |
📰 Title case | toTitle() |
My Name Is Bond |
✍️ Sentence case | toSentence() |
My name is bond |
⚙️ Dot notation | toDot() |
my.name.is.bond |
Features:
Usage
Input string (i.e. john-connor) format is going to be detected automatically. Here's an example:
use Jawira\CaseConverter\Convert; $hero = new Convert('john-connor'); echo $hero->toCamel(); // output: johnConnor
Of course you can explicitly set the format of input string:
echo $hero->fromKebab()->toSnake(); // output: john_connor
You can also use the provided factory to instantiate Convert
class.
A list of all public methods is also available.
i18n
Fully compatible with non-english alphabets:
// Spanish $esp = new Convert('DON_RAMÓN_Y_ÑOÑO'); echo $esp->toCamel(); // output: donRamónYÑoño // Greek $grc = new Convert('πολύ-Καλό'); echo $grc->toCamel(); // output: πολύΚαλό // Russian $rus = new Convert('ОЧЕНЬ_ПРИЯТНО'); echo $rus->toCamel(); // output: оченьПриятно
case-converter
is compatible with Simple Case-Mapping and Full
Case-Mapping.
Learn more about Case-Mapping.
Installation
composer require jawira/case-converter
Documentation
https://jawira.github.io/case-converter/
Contributing
License
This library is licensed under the MIT LICENSE.
Packages from jawira
-
jawira/emoji-catalog
- Get access to +3000 emojis as class constants.
-
jawira/plantuml-client
- Convert PlantUML diagrams into images (svg, png, ...).
-
jawira/doctrine-diagram-bundle
- Symfony Bundle to generate database diagrams.
- more...