PHP Inflector Library, ported from Rails
- PHP 5.4+ (support for PHP 5.3 in php-5.3 branch)
- PHP Internationalization extension (
php5-intl
)
The easiest way to use PHP Inflector is by installing it with Composer
Create or update composer.json
:
{
"require": {
"koenpunt/php-inflector": "1.0.*"
}
}
And run composer install
-
Basics:
- singularize
- pluralize
- singularize
- camelize
- underscore
- humanize
- titleize
- tableize
- classify
- dasherize
- denamespace
- foreign_key
- ordinalize
-
Internationalization
- transliterate
- parameterize
PHP Inflector is implemented as class with static functions
Inflector::underscore("PhpInflector\Inflector"); # => php_inflector/inflector
PhpInflector\Inflector::parameterize("Ærøskøbing on Water"); # => aeroskobing-on-water
PhpInflector\Inflector::foreign_key("Admin\Post"); # => post_id
PhpInflector\Inflector::denamespace("PhpInflector\Inflector\Inflections"); # => Inflections
PhpInflector\Inflector::dasherize("puni_puni"); # => puni-puni
It is also possible to add custom inflections, like acronyms:
PhpInflector\Inflector::inflections(function($inflect){
$inflect->acronym('RESTful');
});
PhpInflector\Inflector::titleize('RESTfulController'); # => RESTful Controller
More examples and documentation can be found in the source.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request