Class Inflector
Pluralize and singularize English words.
Inflector pluralizes and singularizes English nouns. Used by CakePHP's naming conventions throughout the framework.
Property Summary
- 
        $_cache protected static
array<string, mixed>Method cache array.
 - 
        $_initialState protected static
arrayThe initial state of Inflector so reset() works.
 - 
        $_irregular protected static
array<string, string>Irregular rules
 - 
        $_plural protected static
array<string, string>Plural inflector rules
 - 
        $_singular protected static
array<string, string>Singular inflector rules
 - 
        $_uninflected protected static
array<string>Words that should not be inflected
 
Method Summary
- 
          
_cache() protected static
Cache inflected values, and return if already available
 - 
          
camelize() public static
Returns the input lower_case_delimited_string as a CamelCasedString.
 - 
          
classify() public static
Returns a singular, CamelCase inflection for given database table. ("Person" for the table name "people")
 - 
          
dasherize() public static
Returns the input CamelCasedString as an dashed-string.
 - 
          
delimit() public static
Expects a CamelCasedInputString, and produces a lower_case_delimited_string
 - 
          
humanize() public static
Returns the input lower_case_delimited_string as 'A Human Readable String'. (Underscores are replaced by spaces and capitalized following words.)
 - 
          
pluralize() public static
Return $word in plural form.
 - 
          
reset() public static
Clears Inflectors inflected value caches. And resets the inflection rules to the initial values.
 - 
          
rules() public static
Adds custom inflection $rules, of either 'plural', 'singular', 'uninflected' or 'irregular' $type.
 - 
          
singularize() public static
Return $word in singular form.
 - 
          
tableize() public static
Returns corresponding table name for given model $className. ("people" for the class name "Person").
 - 
          
underscore() public static
Returns the input CamelCasedString as an underscored_string.
 - 
          
variable() public static
Returns camelBacked version of an underscored string.
 
Method Detail
_cache() ¶ protected static
_cache(string $type, string $key, string|false $value = false): string|false
      Cache inflected values, and return if already available
Parameters
- 
                
string$type Inflection type
- 
                
string$key Original value
- 
                
string|false$value optional Inflected value
Returns
string|falseInflected value on cache hit or false on cache miss.
camelize() ¶ public static
camelize(string $string, string $delimiter = '_'): string
      Returns the input lower_case_delimited_string as a CamelCasedString.
Parameters
- 
                
string$string String to camelize
- 
                
string$delimiter optional the delimiter in the input string
Returns
stringCamelizedStringLikeThis.
Links
classify() ¶ public static
classify(string $tableName): string
      Returns a singular, CamelCase inflection for given database table. ("Person" for the table name "people")
Parameters
- 
                
string$tableName Name of database table to get class name for
Returns
stringClass name
Links
dasherize() ¶ public static
dasherize(string $string): string
      Returns the input CamelCasedString as an dashed-string.
Also replaces underscores with dashes
Parameters
- 
                
string$string The string to dasherize.
Returns
stringDashed version of the input string
delimit() ¶ public static
delimit(string $string, string $delimiter = '_'): string
      Expects a CamelCasedInputString, and produces a lower_case_delimited_string
Parameters
- 
                
string$string String to delimit
- 
                
string$delimiter optional the character to use as a delimiter
Returns
stringdelimited string
humanize() ¶ public static
humanize(string $string, string $delimiter = '_'): string
      Returns the input lower_case_delimited_string as 'A Human Readable String'. (Underscores are replaced by spaces and capitalized following words.)
Parameters
- 
                
string$string String to be humanized
- 
                
string$delimiter optional the character to replace with a space
Returns
stringHuman-readable string
Links
pluralize() ¶ public static
pluralize(string $word): string
      Return $word in plural form.
Parameters
- 
                
string$word Word in singular
Returns
stringWord in plural
Links
reset() ¶ public static
reset(): void
      Clears Inflectors inflected value caches. And resets the inflection rules to the initial values.
Returns
voidrules() ¶ public static
rules(string $type, array $rules, bool $reset = false): void
      Adds custom inflection $rules, of either 'plural', 'singular', 'uninflected' or 'irregular' $type.
Usage:
Inflector::rules('plural', ['/^(inflect)or$/i' => '\1ables']);
Inflector::rules('irregular', ['red' => 'redlings']);
Inflector::rules('uninflected', ['dontinflectme']);
        
                  Parameters
- 
                
string$type The type of inflection, either 'plural', 'singular', or 'uninflected'.
- 
                
array$rules Array of rules to be added.
- 
                
bool$reset optional If true, will unset default inflections for all new rules that are being defined in $rules.
Returns
voidsingularize() ¶ public static
singularize(string $word): string
      Return $word in singular form.
Parameters
- 
                
string$word Word in plural
Returns
stringWord in singular
Links
tableize() ¶ public static
tableize(string $className): string
      Returns corresponding table name for given model $className. ("people" for the class name "Person").
Parameters
- 
                
string$className Name of class to get database table name for
Returns
stringName of the database table for given class
Links
underscore() ¶ public static
underscore(string $string): string
      Returns the input CamelCasedString as an underscored_string.
Also replaces dashes with underscores
Parameters
- 
                
string$string CamelCasedString to be "underscorized"
Returns
stringunderscore_version of the input string
Links
variable() ¶ public static
variable(string $string): string
      Returns camelBacked version of an underscored string.
Parameters
- 
                
string$string String to convert.
Returns
stringin variable form