Class yii\helpers\BaseInflector

Inheritanceyii\helpers\BaseInflector
Subclassesyii\helpers\Inflector
Available since version2.0
Source Code https://github.com/yiisoft/yii2/blob/master/framework/helpers/BaseInflector.php

BaseInflector provides concrete implementation for yii\helpers\Inflector.

Do not use BaseInflector. Use yii\helpers\Inflector instead.

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$plurals array The rules for converting a word into its plural form. yii\helpers\BaseInflector
$singulars array The rules for converting a word into its singular form. yii\helpers\BaseInflector
$specials array The special rules for converting a word between its plural form and singular form. yii\helpers\BaseInflector
$transliteration array Fallback map for transliteration used by slug() when intl isn't available. yii\helpers\BaseInflector
$transliterator mixed Either a \yii\helpers\Transliterator or a string from which a \yii\helpers\Transliterator can be built for transliteration used by slug() when intl is available. yii\helpers\BaseInflector

Public Methods

Hide inherited methods

MethodDescriptionDefined By
camel2id() Converts a CamelCase name into an ID in lowercase. yii\helpers\BaseInflector
camel2words() Converts a CamelCase name into space-separated words. yii\helpers\BaseInflector
camelize() Returns given word as CamelCased Converts a word like "send_email" to "SendEmail". It will remove non alphanumeric character from the word, so "who's online" will be converted to "WhoSOnline" yii\helpers\BaseInflector
classify() Converts a table name to its class name. For example, converts "people" to "Person" yii\helpers\BaseInflector
humanize() Returns a human-readable string from $word yii\helpers\BaseInflector
id2camel() Converts an ID into a CamelCase name. yii\helpers\BaseInflector
ordinalize() Converts number to its ordinal English form. For example, converts 13 to 13th, 2 to 2nd . yii\helpers\BaseInflector
pluralize() Converts a word to its plural form. yii\helpers\BaseInflector
sentence() Converts a list of words into a sentence. yii\helpers\BaseInflector
singularize() Returns the singular of the $word yii\helpers\BaseInflector
slug() Returns a string with all spaces converted to given replacement, non word characters removed and the rest of characters transliterated. yii\helpers\BaseInflector
tableize() Converts a class name to its table name (pluralized) naming conventions. For example, converts "Person" to "people" yii\helpers\BaseInflector
titleize() Converts an underscored or CamelCase word into a English sentence. yii\helpers\BaseInflector
underscore() Converts any "CamelCased" into an "underscored_word". yii\helpers\BaseInflector
variablize() Same as camelize but first char is in lowercase. yii\helpers\BaseInflector

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
hasIntl() yii\helpers\BaseInflector
transliterate() Returns transliterated version of a string. yii\helpers\BaseInflector

Property Details

$plurals public property
array $plurals = ['/([nrlm]ese|deer|fish|sheep|measles|ois|pox|media)$/i' => '\1''/^(sea[- ]bass)$/i' => '\1''/(m)ove$/i' => '\1oves''/(f)oot$/i' => '\1eet''/(h)uman$/i' => '\1umans''/(s)tatus$/i' => '\1tatuses''/(s)taff$/i' => '\1taff''/(t)ooth$/i' => '\1eeth''/(quiz)$/i' => '\1zes''/^(ox)$/i' => '\1\2en''/([m|l])ouse$/i' => '\1ice''/(matr|vert|ind)(ix|ex)$/i' => '\1ices''/(x|ch|ss|sh)$/i' => '\1es''/([^aeiouy]|qu)y$/i' => '\1ies''/(hive)$/i' => '\1s''/(?:([^f])fe|([lr])f)$/i' => '\1\2ves''/sis$/i' => 'ses''/([ti])um$/i' => '\1a''/(p)erson$/i' => '\1eople''/(m)an$/i' => '\1en''/(c)hild$/i' => '\1hildren''/(buffal|tomat|potat|ech|her|vet)o$/i' => '\1oes''/(alumn|bacill|cact|foc|fung|nucle|radi|stimul|syllab|termin|vir)us$/i' => '\1i''/us$/i' => 'uses''/(alias)$/i' => '\1es''/(ax|cris|test)is$/i' => '\1es''/s$/' => 's''/^$/' => '''/$/' => 's']

The rules for converting a word into its plural form. The keys are the regular expressions and the values are the corresponding replacements.

$singulars public property
array $singulars = ['/([nrlm]ese|deer|fish|sheep|measles|ois|pox|media|ss)$/i' => '\1''/^(sea[- ]bass)$/i' => '\1''/(s)tatuses$/i' => '\1tatus''/(f)eet$/i' => '\1oot''/(t)eeth$/i' => '\1ooth''/^(.*)(menu)s$/i' => '\1\2''/(quiz)zes$/i' => '\\1''/(matr)ices$/i' => '\1ix''/(vert|ind)ices$/i' => '\1ex''/^(ox)en/i' => '\1''/(alias)(es)*$/i' => '\1''/(alumn|bacill|cact|foc|fung|nucle|radi|stimul|syllab|termin|viri?)i$/i' => '\1us''/([ftw]ax)es/i' => '\1''/(cris|ax|test)es$/i' => '\1is''/(shoe|slave)s$/i' => '\1''/(o)es$/i' => '\1''/ouses$/' => 'ouse''/([^a])uses$/' => '\1us''/([m|l])ice$/i' => '\1ouse''/(x|ch|ss|sh)es$/i' => '\1''/(m)ovies$/i' => '\1\2ovie''/(s)eries$/i' => '\1\2eries''/([^aeiouy]|qu)ies$/i' => '\1y''/([lr])ves$/i' => '\1f''/(tive)s$/i' => '\1''/(hive)s$/i' => '\1''/(drive)s$/i' => '\1''/([^fo])ves$/i' => '\1fe''/(^analy)ses$/i' => '\1sis''/(analy|diagno|^ba|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i' => '\1\2sis''/([ti])a$/i' => '\1um''/(p)eople$/i' => '\1\2erson''/(m)en$/i' => '\1an''/(c)hildren$/i' => '\1\2hild''/(n)ews$/i' => '\1\2ews''/eaus$/' => 'eau''/^(.*us)$/' => '\\1''/s$/i' => '']

The rules for converting a word into its singular form. The keys are the regular expressions and the values are the corresponding replacements.

$specials public property
array $specials = ['atlas' => 'atlases''beef' => 'beefs''brother' => 'brothers''cafe' => 'cafes''child' => 'children''cookie' => 'cookies''corpus' => 'corpuses''cow' => 'cows''curve' => 'curves''foe' => 'foes''ganglion' => 'ganglions''genie' => 'genies''genus' => 'genera''graffito' => 'graffiti''hoof' => 'hoofs''loaf' => 'loaves''man' => 'men''money' => 'monies''mongoose' => 'mongooses''move' => 'moves''mythos' => 'mythoi''niche' => 'niches''numen' => 'numina''occiput' => 'occiputs''octopus' => 'octopuses''opus' => 'opuses''ox' => 'oxen''penis' => 'penises''sex' => 'sexes''soliloquy' => 'soliloquies''testis' => 'testes''trilby' => 'trilbys''turf' => 'turfs''wave' => 'waves''Amoyese' => 'Amoyese''bison' => 'bison''Borghese' => 'Borghese''bream' => 'bream''breeches' => 'breeches''britches' => 'britches''buffalo' => 'buffalo''cantus' => 'cantus''carp' => 'carp''chassis' => 'chassis''clippers' => 'clippers''cod' => 'cod''coitus' => 'coitus''Congoese' => 'Congoese''contretemps' => 'contretemps''corps' => 'corps''debris' => 'debris''diabetes' => 'diabetes''djinn' => 'djinn''eland' => 'eland''elk' => 'elk''equipment' => 'equipment''Faroese' => 'Faroese''flounder' => 'flounder''Foochowese' => 'Foochowese''gallows' => 'gallows''Genevese' => 'Genevese''Genoese' => 'Genoese''Gilbertese' => 'Gilbertese''graffiti' => 'graffiti''headquarters' => 'headquarters''herpes' => 'herpes''hijinks' => 'hijinks''Hottentotese' => 'Hottentotese''information' => 'information''innings' => 'innings''jackanapes' => 'jackanapes''Kiplingese' => 'Kiplingese''Kongoese' => 'Kongoese''Lucchese' => 'Lucchese''mackerel' => 'mackerel''Maltese' => 'Maltese''mews' => 'mews''moose' => 'moose''mumps' => 'mumps''Nankingese' => 'Nankingese''news' => 'news''nexus' => 'nexus''Niasese' => 'Niasese''Pekingese' => 'Pekingese''Piedmontese' => 'Piedmontese''pincers' => 'pincers''Pistoiese' => 'Pistoiese''pliers' => 'pliers''Portuguese' => 'Portuguese''proceedings' => 'proceedings''rabies' => 'rabies''rice' => 'rice''rhinoceros' => 'rhinoceros''salmon' => 'salmon''Sarawakese' => 'Sarawakese''scissors' => 'scissors''series' => 'series''Shavese' => 'Shavese''shears' => 'shears''siemens' => 'siemens''species' => 'species''swine' => 'swine''testes' => 'testes''trousers' => 'trousers''trout' => 'trout''tuna' => 'tuna''Vermontese' => 'Vermontese''Wenchowese' => 'Wenchowese''whiting' => 'whiting''wildebeest' => 'wildebeest''Yengeese' => 'Yengeese']

The special rules for converting a word between its plural form and singular form. The keys are the special words in singular form, and the values are the corresponding plural form.

$transliteration public property
array $transliteration = ['À' => 'A''Á' => 'A''Â' => 'A''Ã' => 'A''Ä' => 'A''Å' => 'A''Æ' => 'AE''Ç' => 'C''È' => 'E''É' => 'E''Ê' => 'E''Ë' => 'E''Ì' => 'I''Í' => 'I''Î' => 'I''Ï' => 'I''Ð' => 'D''Ñ' => 'N''Ò' => 'O''Ó' => 'O''Ô' => 'O''Õ' => 'O''Ö' => 'O''Ő' => 'O''Ø' => 'O''Ù' => 'U''Ú' => 'U''Û' => 'U''Ü' => 'U''Ű' => 'U''Ý' => 'Y''Þ' => 'TH''ß' => 'ss''à' => 'a''á' => 'a''â' => 'a''ã' => 'a''ä' => 'a''å' => 'a''æ' => 'ae''ç' => 'c''è' => 'e''é' => 'e''ê' => 'e''ë' => 'e''ì' => 'i''í' => 'i''î' => 'i''ï' => 'i''ð' => 'd''ñ' => 'n''ò' => 'o''ó' => 'o''ô' => 'o''õ' => 'o''ö' => 'o''ő' => 'o''ø' => 'o''ù' => 'u''ú' => 'u''û' => 'u''ü' => 'u''ű' => 'u''ý' => 'y''þ' => 'th''ÿ' => 'y']

Fallback map for transliteration used by slug() when intl isn't available.

$transliterator public property
mixed $transliterator 'Any-Latin; NFKD'

Either a \yii\helpers\Transliterator or a string from which a \yii\helpers\Transliterator can be built for transliteration used by slug() when intl is available.

See also http://php.net/manual/en/transliterator.transliterate.php.

Method Details

camel2id() public method

Converts a CamelCase name into an ID in lowercase.

Words in the ID may be concatenated using the specified character (defaults to '-'). For example, 'PostTag' will be converted to 'post-tag'.

string camel2id$name$separator '-'$strict false )
$name string

The string to be converted

$separator string

The character used to concatenate the words in the ID

$strict boolean|string

Whether to insert a separator between two consecutive uppercase chars, defaults to false

return string

The resulting ID

camel2words() public method

Converts a CamelCase name into space-separated words.

For example, 'PostTag' will be converted to 'Post Tag'.

string camel2words$name$ucwords true )
$name string

The string to be converted

$ucwords boolean

Whether to capitalize the first letter in each word

return string

The resulting words

camelize() public method

Returns given word as CamelCased Converts a word like "send_email" to "SendEmail". It will remove non alphanumeric character from the word, so "who's online" will be converted to "WhoSOnline"

See also variablize().

string camelize$word )
$word string

The word to CamelCase

classify() public method

Converts a table name to its class name. For example, converts "people" to "Person"

string classify$tableName )
$tableName string
hasIntl() protected method

boolean hasIntl( )
return boolean

If intl extension is loaded

humanize() public method

Returns a human-readable string from $word

string humanize$word$ucAll false )
$word string

The string to humanize

$ucAll boolean

Whether to set all words to uppercase or not

id2camel() public method

Converts an ID into a CamelCase name.

Words in the ID separated by $separator (defaults to '-') will be concatenated into a CamelCase name. For example, 'post-tag' is converted to 'PostTag'.

string id2camel$id$separator '-' )
$id string

The ID to be converted

$separator string

The character used to separate the words in the ID

return string

The resulting CamelCase name

ordinalize() public method

Converts number to its ordinal English form. For example, converts 13 to 13th, 2 to 2nd .

..

string ordinalize$number )
$number integer

The number to get its ordinal value

pluralize() public method

Converts a word to its plural form.

Note that this is for English only! For example, 'apple' will become 'apples', and 'child' will become 'children'.

string pluralize$word )
$word string

The word to be pluralized

return string

The pluralized word

sentence() public method (available since version 2.0.1)

Converts a list of words into a sentence.

Special treatment is done for the last few words. For example,

$words = ['Spain''France'];
echo 
Inflector::sentence($words);
// output: Spain and France

$words = ['Spain''France''Italy'];
echo 
Inflector::sentence($words);
// output: Spain, France and Italy

$words = ['Spain''France''Italy'];
echo 
Inflector::sentence($words' & ');
// output: Spain, France & Italy
string sentence( array $words$twoWordsConnector ' and '$lastWordConnector null$connector ', ' )
$words array

The words to be converted into an string

$twoWordsConnector string

The string connecting words when there are only two

$lastWordConnector string

The string connecting the last two words. If this is null, it will take the value of $twoWordsConnector.

$connector string

The string connecting words other than those connected by $lastWordConnector and $twoWordsConnector

return string

The generated sentence

singularize() public method

Returns the singular of the $word

string singularize$word )
$word string

The english word to singularize

return string

Singular noun.

slug() public method

Returns a string with all spaces converted to given replacement, non word characters removed and the rest of characters transliterated.

If intl extension isn't available uses fallback that converts latin characters only and removes the rest. You may customize characters map via $transliteration property of the helper.

string slug$string$replacement '-'$lowercase true )
$string string

An arbitrary string to convert

$replacement string

The replacement to use for spaces

$lowercase boolean

Whether to return the string in lowercase or not. Defaults to true.

return string

The converted string.

tableize() public method

Converts a class name to its table name (pluralized) naming conventions. For example, converts "Person" to "people"

string tableize$className )
$className string

The class name for getting related table_name

titleize() public method

Converts an underscored or CamelCase word into a English sentence.

string titleize$words$ucAll false )
$words string
$ucAll boolean

Whether to set all words to uppercase

transliterate() protected method

Returns transliterated version of a string.

If intl extension isn't available uses fallback that converts latin characters only and removes the rest. You may customize characters map via $transliteration property of the helper.

string transliterate$string )
$string string

Input string

underscore() public method

Converts any "CamelCased" into an "underscored_word".

string underscore$words )
$words string

The word(s) to underscore

variablize() public method

Same as camelize but first char is in lowercase.

Converts a word like "send_email" to "sendEmail". It will remove non alphanumeric character from the word, so "who's online" will be converted to "whoSOnline"

string variablize$word )
$word string

To lowerCamelCase