| Recommend this page to a friend! |
| Info | Example | Reputation | Support forum | Blog | Links |
| Ratings | Unique User Downloads | Download Rankings | ||||
| Not enough user ratings | Total: 102 | All time: 9,786 This week: 206 | ||||
| Version | License | PHP version | Categories | |||
| case-converter 1.0 | Custom (specified... | 5 | PHP 5, Text processing |
| Description | Author | |
This package can be used to convert strings between many naming conventions. Innovation Award
|
To use Case Converter you have to instantiate Convert class, then you
should call to*() methods.
Code:
<?php declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use Jawira\CaseConverter\Convert;
$robot = new Convert('The-Terminator');
echo $robot->toPascal() . PHP_EOL;
echo $robot->toCobol() . PHP_EOL;
echo $robot->toSnake() . PHP_EOL;
Output:
TheTerminator
THE-TERMINATOR
the_terminator
In some edge cases you have to explicitly set the format of input string to have the desired output:
<?php declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use Jawira\CaseConverter\Convert;
$agency = new Convert('FBI');
$agency->fromAda();
echo $agency->toCobol(); // output: FBI
echo $agency->toSnake(); // output: fbi
$agency->fromCamel();
echo $agency->toCobol(); // output: F-B-I
echo $agency->toSnake(); // output: f_b_i
$agency->fromAuto();
echo $agency->toCobol(); // output: FBI
echo $agency->toSnake(); // output: fbi
You can still use _Simple Case-Mapping_ even if you are using PHP 7.3 or newer:
<?php declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use Jawira\CaseConverter\Convert;
$robot = new Convert('Straße');
$robot->forceSimpleCaseMapping();
echo $robot->toMacro(); // output: STRAßE
[Learn more about Case-Mapping][Case-Mapping].
[CaseConverter factory] is going to instantiate Convert class for you.
Everything else is the same:
// Convert string to Pascal case
$this->cc->convert('XML')->toPascal(); // Xml
// Convert string to Snake case
$this->cc->convert('v3.0.2')->toSnake(); // v3_0_2
// Convert string to Camel case
$this->cc->convert('first-name')->toCamel(); // firstName
// Convert from Lower case to Dot case
$this->cc->convert('non-SI units')->fromLower()->toDot(); // non-si.units
// Get detected words
$this->cc->convert('Mario Bros')->toArray(); // ['Mario', 'Bros']
// Retrieve original string
$this->cc->convert('use_the_force')->getSource(); // use_the_force
[Case-Mapping]: ./case-mapping.md [CaseConverter factory]: ./using-the-factory.md
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:
Input string (i.e. _john-connor_) format is going to be [detected automatically][detection algorithm]. 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][factory] to instantiate Convert class.
A list of [all public methods] is also available.
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][Case-Mapping].
$ composer require jawira/case-converter
<https://jawira.github.io/case-converter/>
If you liked this project, ? star it on [GitHub].
This library is licensed under the [MIT LICENSE].
<!--mkdocs: Do not use relative path for links and images-->
[all public methods]: https://jawira.github.io/case-converter/api.html [CONTRIBUTING.md]: https://jawira.github.io/case-converter/contributing.html [Countable interface]: https://php.net/manual/en/class.countable.php [Case-Mapping]: https://jawira.github.io/case-converter/case-mapping.html [magic method]: https://www.php.net/manual/en/language.oop5.magic.php#object.tostring [MIT LICENSE]: https://jawira.github.io/case-converter/license.html [open an issue]: https://github.com/jawira/case-converter/issues/new [detection algorithm]: https://jawira.github.io/case-converter/detection-algorithm.html [factory]: https://jawira.github.io/case-converter/using-the-factory.html [GitHub]: https://github.com/jawira/case-converter/
*
<dl>
<dt><a href="https://packagist.org/packages/jawira/emoji-catalog">jawira/emoji-catalog</a> (library)</dt> <dd>Get access to +3000 emojis as class constants.</dd>
<dt><a href="https://packagist.org/packages/jawira/phing-visualizer">jawira/phing-visualizer</a> (library)</dt> <dd>Graphical representation of Phing's buildfile.</dd>
<dt><a href="https://packagist.org/packages/jawira/phing-open-task">jawira/phing-open-task</a> (library)</dt> <dd>Phing task to open files, directories, and URLs with your favorite software.</dd>
<dt><a href="https://packagist.org/packages/jawira/">more...</a></dt> </dl>
| File | Role | Description | ||
|---|---|---|---|---|
| Data | Auxiliary data | |||
| Data | Auxiliary data | |||
| Data | Auxiliary data | |||
| Data | Auxiliary data | |||
| Data | Auxiliary data | |||
| Data | Auxiliary data | |||
| Data | Auxiliary data | |||
| Lic. | License text | |||
| Data | Auxiliary data | |||
| Data | Auxiliary data | |||
| Doc. | Documentation | |||
| / | config |
| File | Role | Description |
|---|---|---|
| |
Data | Auxiliary data |
| |
Data | Auxiliary data |
| / | docs |
| File | Role | Description | ||
|---|---|---|---|---|
| |
Data | Auxiliary data | ||
| |
Data | Auxiliary data | ||
| |
Data | Auxiliary data | ||
| |
Data | Auxiliary data | ||
| |
Example | Example script | ||
| |
Data | Auxiliary data | ||
| |
Data | Auxiliary data | ||
| |
Class | Class source | ||
| / | docs | / | images |
| File | Role | Description |
|---|---|---|
| |
Data | Auxiliary data |
| |
Data | Auxiliary data |
| |
Data | Auxiliary data |
| |
Data | Auxiliary data |
| |
Data | Auxiliary data |
| |
Data | Auxiliary data |
| / | src |
| File | Role | Description | ||
|---|---|---|---|---|
| |
Class | Class source | ||
| |
Class | Class source | ||
| |
Class | Class source | ||
| |
Class | Class source | ||
| / | src | / | Glue |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| / | src | / | Split |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| / | tests | / | behat |
| File | Role | Description | ||
|---|---|---|---|---|
| |
Data | Auxiliary data | ||
| / | tests | / | phpunit |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
| Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
| 100% |
|
|
| Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.