Spec-Zone.ru › Yii 2.0

Класс 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 массив Правила преобразования слова в его множественное число. yii\helpers\BaseInflector
$singulars массив Правила преобразования слова в его единственное число. yii\helpers\BaseInflector
$specials массив Специальные правила преобразования слова между его множественным и единственным числом. yii\helpers\BaseInflector
$transliteration массив Дополнительный массив для транслитерации, используемый функцией transliterate(), если intl недоступен. yii\helpers\BaseInflector
mixed Либо Transliterator, либо строка, из которой можно создать Transliterator для транслитерации. yii\helpers\BaseInflector

Общедоступные методы

Метод Описание Определено в
camel2id() Преобразует имя в CamelCase в ID в нижнем регистре. yii\helpers\BaseInflector
camel2words() Преобразует имя в CamelCase в слова, разделенные пробелами. yii\helpers\BaseInflector
camelize() Возвращает заданное слово в формате CamelCase. Преобразует слово типа "send_email" в "SendEmail". Удаляет небуквенно-цифровые символы из слова, поэтому "who's online" преобразуется в "WhoSOnline" yii\helpers\BaseInflector
classify() Преобразует имя таблицы в имя класса. Например, преобразует "people" в "Person" yii\helpers\BaseInflector
humanize() Возвращает удобочитаемую строку из $word yii\helpers\BaseInflector
id2camel() Преобразует ID в имя в CamelCase. yii\helpers\BaseInflector
ordinalize() Преобразует число в его порядковое английское обозначение. Например, преобразует 13 в 13-е, 2 в 2-е. yii\helpers\BaseInflector
pluralize() Преобразует слово в его множественное число. yii\helpers\BaseInflector
sentence() Преобразует список слов в предложение. yii\helpers\BaseInflector
singularize() Возвращает единственное число слова $word yii\helpers\BaseInflector
slug() Возвращает строку, в которой все пробелы заменены на заданный символ замены, небуквенно-цифровые символы удалены, а остальные символы транслитерированы. yii\helpers\BaseInflector
tableize() Преобразует имя класса в имя таблицы (в множественном числе) согласно правилам именования. Например, преобразует "Person" в "people" yii\helpers\BaseInflector
titleize() Преобразует слово с подчеркиванием или в CamelCase в английское предложение. yii\helpers\BaseInflector
transliterate() Возвращает транслитерированную версию строки. yii\helpers\BaseInflector
underscore() Преобразует любое слово в CamelCase в слово с подчеркиванием (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. Например: 获取到 どちら Українська: ґ,є, Српска: ђ, њ, џ! ¿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 правила транслитерации. Правило среднее, буквы будут транслитерированы в символы таблицы ASCII Latin-1 (ISO 8859-1). Например: 获取到 どちら Українська: ґ,є, Српска: ђ, њ, џ! ¿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 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 общедоступное статическое свойство

Дополнительный массив для транслитерации, используемый функцией transliterate(), если intl недоступен.

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 общедоступное статическое свойство

Либо Транслитератор, либо строка, из которой можно создать транслитератор для транслитерации. Используется методом transliterate(), если модуль intl доступен. По умолчанию используется значение TRANSLITERATE_LOOSE.

См. также http://php.net/manual/en/transliterator.transliterate.php.

public static mixed $transliterator = self::TRANSLITERATE_LOOSE

Подробное описание методов

camel2id() public static метод

Преобразует имя в формате CamelCase в идентификатор в нижнем регистре.

Слова в идентификаторе могут быть соединены с помощью указанного символа (по умолчанию - '-'). Например, 'PostTag' будет преобразован в 'post-tag'.

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

Строка для преобразования

$separator string

Символ, используемый для соединения слов в идентификаторе

$strict boolean|string

Вставлять ли разделитель между двумя последовательными заглавными буквами, по умолчанию false

return string

Полученный идентификатор

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

Слово для преобразования в CamelCase

classify() public static метод

Преобразует имя таблицы в имя класса. Например, преобразует "people" в "Person"

public static string classify ( $tableName )
$tableName string

hasIntl() защищенный статический метод

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 метод

Преобразует идентификатор в имя в формате CamelCase.

Слова в идентификаторе, разделенные $separator (по умолчанию '-') будут объединены в имя в формате CamelCase. Например, 'post-tag' преобразуется в 'PostTag'.

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

Идентификатор для преобразования

$separator string

Символ, используемый для разделения слов в идентификаторе

return string

Полученное имя в формате CamelCase

ordinalize() public static метод

Преобразует число в его порядковое английское значение. Например, преобразует 13 в 13-е, 2 в 2-е.

..

public static string ordinalize ( $number )
$number integer

Число, для которого необходимо получить порядковое значение

pluralize() public static метод

Преобразует слово в его множественное число.

Обратите внимание, что это только для английского языка! Например, 'apple' станет 'apples', а 'child' станет 'children'.

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 метод

Возвращает единственное число слова $word

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 метод

Преобразует имя класса в имя таблицы (во множественном числе) в соответствии с правилами именования. Например, преобразует "Person" в "people"

public static string tableize ( $className )
$className string

Имя класса для получения соответствующего имени таблицы

titleize() public static метод

Преобразует слово с подчеркиванием или в формате CamelCase в английское предложение.

public static строка titleize ( $words, $ucAll = false )
$words строка
$ucAll булево

Устанавливать ли все слова в верхнем регистре

transliterate() общедоступный статический метод (доступен с версии 2.0.7)

Возвращает транслитерированную версию строки.

Если расширение intl недоступно, используется резервное решение, которое преобразует только латинские символы и удаляет остальные. Вы можете настроить карту символов через свойство $transliteration помощника.

public static строка transliterate ( $string, $transliterator = null )
$string строка

Входная строка

$transliterator строка|Транслитератор

Либо Транслитератор, либо строка, из которой можно создать Транслитератор.

underscore() общедоступный статический метод

Преобразует любое "CamelCased" в "underscored_word".

public static строка underscore ( $words )
$words строка

Слова, которые нужно подчеркнуть

variablize() общедоступный статический метод

То же, что и camelize, но первый символ в нижнем регистре.

Преобразует слово, такое как "send_email", в "sendEmail". Удалит не буквенно-цифровые символы из слова, поэтому "кто онлайн" будет преобразовано в "ктоОнлайн"

public static строка variablize ( $word )
$word строка

В нижний регистр с большой буквы

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-helpers-baseinflector.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API