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 Cake model class name ("Person" for the database table "people".) for given database table.
-
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 model class "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|falsecamelize() 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
stringLinks
classify() public static
classify(string $tableName): string
Returns Cake model class name ("Person" for the database table "people".) for given database table.
Parameters
-
string$tableName Name of database table to get class name for
Returns
stringLinks
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
stringdelimit() 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
stringhumanize() 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
stringLinks
pluralize() public static
pluralize(string $word): string
Return $word in plural form.
Parameters
-
string$word Word in singular
Returns
stringLinks
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
stringLinks
tableize() public static
tableize(string $className): string
Returns corresponding table name for given model $className. ("people" for the model class "Person").
Parameters
-
string$className Name of class to get database table name for
Returns
stringLinks
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
stringLinks
variable() public static
variable(string $string): string
Returns camelBacked version of an underscored string.
Parameters
-
string$string String to convert.
Returns
stringLinks
Property Detail
$_cache protected static
Method cache array.
Type
array<string, mixed>$_initialState protected static
The initial state of Inflector so reset() works.
Type
array$_irregular protected static
Irregular rules
Type
array<string, string>$_plural protected static
Plural inflector rules
Type
array<string, string>$_singular protected static
Singular inflector rules
Type
array<string, string>$_uninflected protected static
Words that should not be inflected
Type
array<string>
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.Utility.Inflector.html