cristianoc72 / pluralizer
Pluralize library
Requires
- php: >=7.2
Requires (Dev)
- phpunit/phpunit: >=7.0
- vimeo/psalm: ^3.2
This package is auto-updated.
Last update: 2024-11-20 18:18:28 UTC
README
Pluralizer is a pluralize/singularize library, extracted from Propel Orm codebase.
Install
Via Composer
$ composer require cristianoc72/pluralizer
Usage
The library exposes two methods: getPluralForm
, which transforms a word from singular to plural, and getSinguarForm
doing the opposite.
$pluralizer = new cristianoc72\Pluralizer(); $plural = $pluralizer->getPluralForm('Author'); echo $plural; // Authors $singular = $pluralizer->getSingularForm('Books'); echo $singular; // Book
The library can transform the most common irregular words:
$pluralizer = new cristianoc72\Pluralizer(); $plural = $pluralizer->getPluralForm('tooth'); echo $plural; // teeth
Besides, the library exposes two checker method isPlural
and isSingular
:
$pluralizer = new cristianoc72\Pluralizer(); var_dump($pluralizer->isPlural('Author'); // (bool) false var_dump($pluralizer->isPlural('Books')); // (bool) true
Testing
Simply run:
$ vendor/bin/phpunit
A directory coverage
will be automatically created and it contains the code coverage report.
Contributing
Contributions are welcome and will be fully credited.
We accept contributions via Pull Requests on Github.
When you submit a Pull Request, please follow this recommendations:
-
PSR-2 Coding Standard - Check the code style and fix it via Php CS Fixer
-
Add tests! - Your patch won't be accepted if it doesn't have tests.
-
Document any change in behaviour - Make sure the
README.md
is kept up-to-date. -
Send coherent history - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting.
Versions
- 0.x: Developmnet versions. v0.5 can be considered stable. PHP 5.6 support.
- 1.x: Stable versions. PHP >= 7.1
Credits
- Paul Hanssen
- Hans Lellelid
- Cristiano Cinotti
License
The MIT License (MIT). Please see License File for more information.