没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Class yii\helpers\BaseInflector

继承yii\helpers\BaseInflector
子类yii\helpers\Inflector
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/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 构建用于音译的 \Transliterator。 当 intl 可用时,由 transliterate() 使用。默认为 TRANSLITERATE_LOOSE yii\helpers\BaseInflector

公共方法

隐藏继承的方法

方法描述被定义在
camel2id() 将 CamelCase 名称转换成小写 ID 单词。 可以使用指定的字符连接 ID 中的单词(默认 '-')。 例如,'PostTag' 将被转成 'post-tag'。 yii\helpers\BaseInflector
camel2words() 转换一个 CamelCase 命名的名称为以空格分隔的单词。 例如,'PostTag' 将转换成 'Post Tag'。 yii\helpers\BaseInflector
camelize() 返回以 CamelCase 格式给出的单词。 yii\helpers\BaseInflector
classify() 将表名转换为其类名。 yii\helpers\BaseInflector
humanize() $word 返回人类可读的字符串。 yii\helpers\BaseInflector
id2camel() 转换 ID 成一个 CamelCase 名称。 ID 中以 $separator 分隔的单词(默认 '-')将连接到 CamelCase 名称中。 例如,'post-tag' 将被转换成 'PostTag'。 yii\helpers\BaseInflector
ordinalize() 将数字转换为英文序数形式。例如,将 13 转成 13th,2 转成 2nd . yii\helpers\BaseInflector
pluralize() 将一个单词转换为其复数形式。 注意,这只适用于英语! 例如,'apple' 将变成复数形式 'apples',并且 'child' 将变成复数形式 'children'。 yii\helpers\BaseInflector
sentence() 将单词列表转换为句子。 yii\helpers\BaseInflector
singularize() 返回 $word 的单数。 yii\helpers\BaseInflector
slug() 返回一个字符串,其中所有空格都转换为给定的替换, 去掉非单词字符,将其余字符音译。 yii\helpers\BaseInflector
tableize() 将类名转换为其表名(复数)命名约定。 yii\helpers\BaseInflector
titleize() 将带下划线或驼峰大小写的单词 转换为英语句子。 yii\helpers\BaseInflector
transliterate() 返回字符串的音译版本。 yii\helpers\BaseInflector
underscore() 转换一些 "CamelCased" 成 "underscored_word"。 yii\helpers\BaseInflector
variablize() 与 camelize 相同,但是第一个 char 是小写的。 yii\helpers\BaseInflector

受保护的方法

隐藏继承的方法

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

常量

隐藏继承的常量

常量描述被定义在
TRANSLITERATE_LOOSE 'Any-Latin; Latin-ASCII; [\u0080-\uffff] remove' Any-Latin; Latin-ASCII; [\u0080-\uffff] 提供移除规则的快捷方式。 规则是宽松的, 字母将与基本拉丁 Unicode 块的字符进行音译。 例如: 获取到 どちら Українська: ґ,є, Српска: ђ, њ, џ! ¿Español? 会被音译成 huo qu dao dochira Ukrainska: g,e, Srpska: d, n, d! Espanol?`。 在 transliterate() 中使用。 有关详细信息,请参阅 unicode normalization forms 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 normalization forms 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 normalization forms yii\helpers\BaseInflector

属性详情

$plurals 公共 静态 属性

把一个词转换成复数形式的规则。 键是正则表达式,值是相应的替换。

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 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 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 公共 静态 属性

当 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 公共 静态 属性

可以使用 \Transliterator,也可以使用字符串构建 \Transliterator 构建用于音译的 \Transliterator。 当 intl 可用时,由 transliterate() 使用。默认为 TRANSLITERATE_LOOSE

参见 http://php.net/manual/en/transliterator.transliterate.php.

public static mixed $transliterator self::TRANSLITERATE_LOOSE

方法详情

camel2id() 公共 静态 方法

将 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() 公共 静态 方法

转换一个 CamelCase 命名的名称为以空格分隔的单词。 例如,'PostTag' 将转换成 'Post Tag'。

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

将被转换的字符串

$ucwords boolean

是否将每个单词的第一个字母大写

return string

返回这个单词的结果

camelize() 公共 静态 方法

返回以 CamelCase 格式给出的单词。

将 "send_email" 之类的单词转换为 "SendEmail"。 它将从单词中删除非字母数字字符, 所以 "who's online" 将被转换为 "WhoSOnline"。

参见 variablize().

public static string camelize($word)
$word string

转成驼峰的单词

classify() 公共 静态 方法

将表名转换为其类名。

例如,将 "people" 转换成 "Person"。

public static string classify($tableName)
$tableName string
hasIntl() 受保护 静态 方法

protected static boolean hasIntl()
return boolean

如果 intl 扩展已加载

humanize() 公共 静态 方法

$word 返回人类可读的字符串。

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

字符串要人性化

$ucAll boolean

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

id2camel() 公共 静态 方法

转换 ID 成一个 CamelCase 名称。 ID 中以 $separator 分隔的单词(默认 '-')将连接到 CamelCase 名称中。 例如,'post-tag' 将被转换成 'PostTag'。

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

ID 将被转换

$separator string

用于分隔 ID 中单词的字符

return string

返回结果 CamelCase 命名

ordinalize() 公共 静态 方法

将数字转换为英文序数形式。例如,将 13 转成 13th,2 转成 2nd .

..

public static string ordinalize($number)
$number integer

获取其序数值的数字

pluralize() 公共 静态 方法

将一个单词转换为其复数形式。 注意,这只适用于英语! 例如,'apple' 将变成复数形式 'apples',并且 'child' 将变成复数形式 'children'。

public static string pluralize($word)
$word string

将要转换为复数形式的单词

return string

复数词

sentence() 公共 静态 方法 (自版本 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

连接最后两个单词的字符串。 如果这是空的,它将获取 $twoWordsConnector 的值。

$connector string

连接单词的字符串, 而不是由 $lastWordConnector 和 $twoWordsConnector 连接的单词。

return string

生成的句子

singularize() 公共 静态 方法

返回 $word 的单数。

public static string singularize($word)
$word string

将英语单词单数化

return string

单数名词。

slug() 公共 静态 方法

返回一个字符串,其中所有空格都转换为给定的替换, 去掉非单词字符,将其余字符音译。

如果 intl 扩展不可用,则使用仅转换拉丁字符的回退 然后把剩下的移除。 您可以通过 $transliteration 属性自定义字符映射。

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

要转换的任意字符串

$replacement string

用于空格的替换

$lowercase boolean

是否返回小写字符串。默认是 true

return string

转换后的字符串。

tableize() 公共 静态 方法

将类名转换为其表名(复数)命名约定。

例如,"Person" 转换成小写 "people"。

public static string tableize($className)
$className string

获取相关 table_name 的类名

titleize() 公共 静态 方法

将带下划线或驼峰大小写的单词 转换为英语句子。

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

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

transliterate() 公共 静态 方法 (自版本 2.0.7 可用)

返回字符串的音译版本。

如果 intl 扩展不可用,使用仅转换拉丁字符的回滚 然后把剩下的移除。 您可以通过 $transliteration 属性自定义字符映射。

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

输入字符串

$transliterator string|\Transliterator

可以是 \Transliterator 或者字符串从中可以构建 \Transliterator

underscore() 公共 静态 方法

转换一些 "CamelCased" 成 "underscored_word"。

public static string underscore($words)
$words string

带下划线的 word(s)

variablize() 公共 静态 方法

与 camelize 相同,但是第一个 char 是小写的。

将 "send_email" 之类的单词转换为 "sendEmail"。 它将从单词中删除非字母数字字符, 所以 "who's online" 将被转换成 "whoSOnline"。

public static string variablize($word)
$word string

To lowerCamelCase