leeroy/php-inflector

PHP Inflector, ported from Rails

1.0.1 2022-11-21 19:48 UTC

This package is auto-updated.

Last update: 2024-12-21 23:59:13 UTC


README

PHP Inflector Library, ported from Rails

Minimum Requirements

Installation

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

Features

  • Basics:

    • singularize
    • pluralize
    • singularize
    • camelize
    • underscore
    • humanize
    • titleize
    • tableize
    • classify
    • dasherize
    • denamespace
    • foreign_key
    • ordinalize
  • Internationalization

    • transliterate
    • parameterize

Usage

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.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request