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
array
The 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|false
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
string
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
string
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
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
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
string
Links
pluralize() ¶ public static
pluralize(string $word): string
Return $word in plural form.
Parameters
-
string
$word Word in singular
Returns
string
Links
reset() ¶ public static
reset(): void
Clears Inflectors inflected value caches. And resets the inflection rules to the initial values.
Returns
void
rules() ¶ 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
void
singularize() ¶ public static
singularize(string $word): string
Return $word in singular form.
Parameters
-
string
$word Word in plural
Returns
string
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
string
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
string
Links
variable() ¶ public static
variable(string $string): string
Returns camelBacked version of an underscored string.
Parameters
-
string
$string String to convert.
Returns
string