Class yii\helpers\BaseInflector

继承yii\helpers\BaseInflector
子类yii\helpers\Inflector
可用自版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/helpers/BaseInflector.php

BaseInflector 为 yii\helpers\Inflector 提供了具体的实现方法.

不要使用 BaseInflector. 改用 yii\helpers\Inflector.

公共属性

隐藏继承的属性

属性类型描述定义在
$plurals array 将单词转换为复数形式的规则. yii\helpers\BaseInflector
$singulars array 将单词转换为单数形式的规则. yii\helpers\BaseInflector
$specials array 在复数形式和单数形式之间转换单词的特殊规则. yii\helpers\BaseInflector
$transliteration array 当 intl 不可用时, transliterate() 使用的音译后备映射. yii\helpers\BaseInflector
$transliterator mixed 可以是 Transliterator, 也可以是能为音译构建 Transliterator 的字符串. yii\helpers\BaseInflector

公共方法

隐藏继承的方法

方法描述定义在
camel2id() 将驼峰式(CamelCase)字符串转换为小写的 ID. yii\helpers\BaseInflector
camel2words() 将驼峰式(CamelCase)字符串转换为以空格分隔的句子. yii\helpers\BaseInflector
camelize() 以驼峰式(CamelCase)的形式返回给定的单词. yii\helpers\BaseInflector
classify() 将表名转换为其类名. yii\helpers\BaseInflector
humanize() $word中返回一个人类可读的字符串. yii\helpers\BaseInflector
id2camel() 将 ID 转换为驼峰式(CamelCase)字符串. yii\helpers\BaseInflector
ordinalize() 将数字转换为其英语序数形式. yii\helpers\BaseInflector
pluralize() 将单词转换为复数形式. yii\helpers\BaseInflector
sentence() 将单词列表转换为句子. yii\helpers\BaseInflector
singularize() 返回单词的单数形式. yii\helpers\BaseInflector
slug() 返回一个字符串, 其中所有空格都转换为给定的替换, 非字母字符被删除, 其余字符被音译. yii\helpers\BaseInflector
tableize() 将类名转换为其表名(pluralized)命名约定. yii\helpers\BaseInflector
titleize() 将下划线或驼峰式(CamelCase)字符串转换为英语句子. yii\helpers\BaseInflector
transliterate() 返回字符串的音译版本. yii\helpers\BaseInflector
underscore() 将任何CamelCased转换为underscored_word. yii\helpers\BaseInflector
variablize() camelize()方法相同, 但第一个单词是小写的. yii\helpers\BaseInflector

受保护的方法

隐藏继承的方法

方法描述定义在
hasIntl() yii\helpers\BaseInflector

常量

隐藏继承的常量

常量描述定义在
TRANSLITERATE_LOOSE 'Any-Latin; Latin-ASCII; [\u0080-\uffff] remove' Any-Latin; Latin-ASCII; [\u0080-\uffff] remove音译规则的快捷方式. 松散规则, 字母将使用Basic Latin Unicode Block字符进行音译. 例如: 获取到 どちら Українська: ґ,є, Српска: ђ, њ, џ! ¿Español?将被音译为huo qu dao dochira Ukrainska: g,e, Srpska: d, n, d! Espanol?. 用于 transliterate(). 有关详细信息, 请参阅 unicode 规范化表单. yii\helpers\BaseInflector
TRANSLITERATE_MEDIUM 'Any-Latin; Latin-ASCII' Any-Latin; Latin-ASCII音译规则的快捷方式. 中等规则, 字母将被音译为Latin-1 (ISO 8859-1) ASCII表格的字符. 例如: 获取到 どちら Українська: ґ,є, Српска: ђ, њ, џ! ¿Español?将被音译为huo qu dao dochira Ukrainsʹka: g,e, Srpska: d, n, d! ¿Espanol?. 用于 transliterate(). 有关详细信息, 请参阅 unicode 规范化表单. yii\helpers\BaseInflector
TRANSLITERATE_STRICT 'Any-Latin; NFKD' Any-Latin; NFKD音译规则的快捷方式. 严格规则, 字母将用最接近的声音表示字符音译. 结果可能包含任何UTF-8字符. 例如: 获取到 どちら Українська: ґ,є, Српска: ђ, њ, џ! ¿Español?将被音译为huò qǔ dào dochira Ukraí̈nsʹka: g̀,ê, Srpska: đ, n̂, d̂! ¿Español?. 用于 transliterate(). 有关详细信息, 请参阅 unicode 规范化表单. yii\helpers\BaseInflector

属性详情

$plurals public static 属性

将单词转换为复数形式的规则. 键是正则表达式, 值是相应的转换规则.

public static 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''/(currenc)y$/' => '\1ies''/s$/' => 's''/^$/' => '''/$/' => 's']
$singulars public static 属性

将单词转换为单数形式的规则. 键是正则表达式, 值是相应的转换规则.

public static 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''/(n)etherlands$/i' => '\1\2etherlands''/eaus$/' => 'eau''/(currenc)ies$/' => '\1y''/^(.*us)$/' => '\\1''/s$/i' => '']
$specials public static 属性

在复数形式和单数形式之间转换单词的特殊规则. 键是单数形式的特殊单词, 值是相应的复数形式.

public static 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''pasta' => 'pasta''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']
$transliteration public static 属性

当 intl 不可用时, transliterate() 使用的音译后备映射.

public static 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']
$transliterator public static 属性

可以是 Transliterator, 也可以是能为音译构建 Transliterator 的字符串.

当 intl 可用时由 transliterate() 使用. 默认为 TRANSLITERATE_LOOSE.

参见 https://secure.php.net/manual/en/transliterator.transliterate.php.

public static mixed $transliterator self::TRANSLITERATE_LOOSE

方法详情

camel2id() public static 方法

将驼峰式(CamelCase)字符串转换为小写的 ID.

ID 中的单词可以使用指定的字符连接(默认为-). 例如, PostTag将转换为post-tag.

public static string camel2id ( $name, $separator '-', $strict false )
$name string

要转换的字符串.

$separator string

用于连接 ID 中单词的字符.

$strict boolean|string

是否在两个连续的大写字符之间插入分隔符, 默认为false.

return string

结果 ID.

camel2words() public static 方法

将驼峰式(CamelCase)字符串转换为以空格分隔的句子.

例如, PostTag将转换为Post Tag.

public static string camel2words ( $name, $ucwords true )
$name string

要转换的字符串.

$ucwords boolean

是否将每个单词的首字母大写.

return string

转换后的句子.

camelize() public static 方法

以驼峰式(CamelCase)的形式返回给定的单词.

send_email之类的单词转换为SendEmail. 它将从单词中删除非字母数字字符, 因此, who's online将转换为WhoSOnline.

参见 variablize().

public static string camelize ( $word )
$word string

要转换的单词.

classify() public static 方法

将表名转换为其类名.

例如, 将people转换为Person.

public static string classify ( $tableName )
$tableName string
hasIntl() protected static 方法

protected static boolean hasIntl ( )
return boolean

如果加载了 intl 扩展.

humanize() public static 方法

$word中返回一个人类可读的字符串.

public static string humanize ( $word, $ucAll false )
$word string

人性化的字符串.

$ucAll boolean

是否将所有单词设置为大写.

id2camel() public static 方法

将 ID 转换为驼峰式(CamelCase)字符串.

$separator(默认为-)分隔的 ID 中的单词连接成驼峰式(CamelCase)字符串. 例如, post-tag将转换为PostTag.

public static string id2camel ( $id, $separator '-' )
$id string

要转换的 ID.

$separator string

用于分隔 ID 中单词的字符.

return string

转换后的驼峰式(CamelCase)字符串.

ordinalize() public static 方法

将数字转换为其英语序数形式.

例如, 将13转换为13th, 2转换为2nd.

public static string ordinalize ( $number )
$number integer

要转换的数字.

pluralize() public static 方法

将单词转换为复数形式.

例如, apple转换为apples, child转换为children.

Note: 这仅适用于英语!

public static string pluralize ( $word )
$word string

要转换成复数的单词.

return string

单词的复数形式.

sentence() public static 方法 (可用自版本: 2.0.1)

将单词列表转换为句子.

对最后几个字进行特殊处理. 例如:

$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
public static string sentence ( array $words, $twoWordsConnector null, $lastWordConnector null, $connector ', ' )
$words array

要转换为字符串的单词.

$twoWordsConnector string

当只有两个时连接单词的字符串.

$lastWordConnector string

连接最后两个单词的字符串. 如果这是null, 则它将采用$twoWordsConnector的值.

$connector string

连接由$lastWordConnector$twoWordsConnector连接的字以外的字符串.

return string

生成的句子.

singularize() public static 方法

返回单词的单数形式.

public static string singularize ( $word )
$word string

要转换成单数的单词.

return string

单词的单数形式.

slug() public static 方法

返回一个字符串, 其中所有空格都转换为给定的替换, 非字母字符被删除, 其余字符被音译.

如果 intl 扩展不可用, 则使用仅返回拉丁字符的回退并删除其余字符. 你可以通过帮助程序的$transliteration属性自定义字符映射.

public static string slug ( $string, $replacement '-', $lowercase true )
$string string

要转换的字符串.

$replacement string

用于替换个空格的字符串.

$lowercase boolean

是否以小写形式返回字符串. 默认为true.

return string

转换后的字符串.

tableize() public static 方法

将类名转换为其表名(pluralized)命名约定.

例如, 将Person转换为people.

public static string tableize ( $className )
$className string

获取相关表名的类名.

titleize() public static 方法

将下划线或驼峰式(CamelCase)字符串转换为英语句子.

public static string titleize ( $words, $ucAll false )
$words string
$ucAll boolean

是否将所有单词设置为大写.

transliterate() public static 方法 (可用自版本: 2.0.7)

返回字符串的音译版本.

如果 intl 扩展不可用, 则使用仅返回拉丁字符的回退并删除其余字符. 你可以通过帮助程序的$transliteration属性自定义字符映射.

public static string transliterate ( $string, $transliterator null )
$string string

输入字符串

$transliterator
underscore() public static 方法

将任何CamelCased转换为underscored_word.

public static string underscore ( $words )
$words string

要转换的单词.

variablize() public static 方法

camelize()方法相同, 但第一个单词是小写的.

将单词send_email转换为sendEmail. 它将从单词中删除非字母数字字符, 因此, who's online将转换为whoSOnline.

public static string variablize ( $word )
$word string

要转换的单词.