Spec-Zone.ru › CakePHP 2.7

Класс Inflector

Склоняет и изменяет английские слова.

Класс Inflector склоняет и изменяет английские существительные. Используется в CakePHP для согласования имён в рамках фреймворка.

Пакет: Cake\Utility
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Ссылка: http://book.cakephp.org/2.0/ru/core-utility-libraries/inflector.html
Расположение: Cake/Utility/Inflector.php

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

_cacheисходный код защищенное статическое

_cache( string $type , string $key , string $value false )

Кэширует склоненные значения и возвращает их, если они уже доступны.

Параметры

строка $type
Тип склонения
строка $key
Исходное значение
строка $value необязательно false
Склоненное значение

Возвращает

string
Склоненное значение из кэша

camelizeисходный код общедоступный статический

camelize( string $lowerCaseAndUnderscoredWord )

Возвращает заданное слово в нижнем регистре, разделённое подчёркиваниями, как слово с заглавной буквой каждого слова.

Параметры

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

Возвращает

string
Слово в camelCase. Например: LikeThis.

Ссылка

http://book.cakephp.org/2.0/ru/core-utility-libraries/inflector.html#Inflector::camelize

classifyисходный код общедоступный статический

classify( string $tableName )

Возвращает имя класса Cake-модели ("Человек" для таблицы базы данных "люди") для заданной таблицы базы данных.

Параметры

строка $tableName
Имя таблицы базы данных, для которой нужно получить имя класса

Возвращает

string
Имя класса

Ссылка

http://book.cakephp.org/2.0/ru/core-utility-libraries/inflector.html#Inflector::classify

humanizeисходный код общедоступный статический

humanize( string $lowerCaseAndUnderscoredWord )

Возвращает заданную группу слов с подчёркиваниями как удобочитаемую группу слов. (Подчёркивания заменяются пробелами, а слова, следующие за ними, капитализируются.)

Параметры

строка $lowerCaseAndUnderscoredWord
Строка, которую нужно сделать более удобочитаемой

Возвращает

string
Удобочитаемая строка

Ссылка

http://book.cakephp.org/2.0/ru/core-utility-libraries/inflector.html#Inflector::humanize

pluralizeисходный код общедоступный статический

pluralize( string $word )

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

Параметры

строка $word
Слово в единственном числе

Возвращает

string
Слово во множественном числе

Ссылка

http://book.cakephp.org/2.0/ru/core-utility-libraries/inflector.html#Inflector::pluralize

resetисходный код общедоступный статический

reset( )

Очищает кэш склоненных значений Inflector и сбрасывает правила склонения до начальных значений.

rulesисходный код общедоступный статический

rules( string $type , array $rules , boolean $reset false )

Добавляет пользовательские правила склонения $rules для типа 'множественного числа', 'единственного числа' или 'транслитерации'.

Использование:

Inflector::rules('plural', array('/^(inflect)or$/i' => '\1ables'));
Inflector::rules('plural', array(
    'rules' => array('/^(inflect)ors$/i' => '\1ables'),
    'uninflected' => array('dontinflectme'),
    'irregular' => array('red' => 'redlings')
));
Inflector::rules('transliteration', array('/å/' => 'aa'));

Параметры

строка $type
Тип склонения, либо 'множественное число', 'единственное число', или 'транслитерация'
массив $rules
Массив правил для добавления.
булево $reset необязательно false
Если true, сбросит стандартные склонения для всех новых правил, определённых в $rules.

singularizeисходный код общедоступный статический

singularize( string $word )

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

Параметры

строка $word
Слово во множественном числе

Возвращает

string
Слово в единственном числе

Ссылка

http://book.cakephp.org/2.0/ru/core-utility-libraries/inflector.html#Inflector::singularize

slugисходный код общедоступный статический

slug( string $string , string $replacement '_' )

Возвращает строку, в которой все пробелы заменены подчёркиваниями (по умолчанию), символы с диакритическими знаками заменены на символы без диакритики, а небуквенные символы удалены.

Параметры

строка $string
строка, которую нужно преобразовать в slug
строка $replacement необязательно '_'
заменит ключи в карте

Возвращает

string
строка

Ссылка

http://book.cakephp.org/2.0/ru/core-utility-libraries/inflector.html#Inflector::slug

tableizeисходный код общедоступный статический

tableize( string $className )

Возвращает соответствующее имя таблицы для заданного класса модели. ("люди" для класса модели "Человек").

Параметры

строка $className
Имя класса, для которого нужно получить имя таблицы базы данных

Возвращает

string
Имя таблицы базы данных для данного класса

Ссылка

http://book.cakephp.org/2.0/ru/core-utility-libraries/inflector.html#Inflector::tableize

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

underscore( string $camelCasedWord )

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

Параметры

строка $camelCasedWord
Слово с заглавными буквами каждого слова, которое нужно преобразовать

Возвращает

string
Версия с подчёркиваниями данного слова с заглавными буквами каждого слова

Ссылка

http://book.cakephp.org/2.0/ru/core-utility-libraries/inflector.html#Inflector::underscore

variableисходный код общедоступный статический

variable( string $string )

Возвращает версию с заглавной буквой каждого слова строки с подчёркиваниями.

Параметры

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

Возвращает

string
в формате переменной

Ссылка

http://book.cakephp.org/2.0/ru/core-utility-libraries/inflector.html#Inflector::variable

Резюме свойств

$_cachesource

protected static array

Массив кэша методов.

array()

$_initialStatesource

protected static array

Начальное состояние Inflector, необходимое для работы reset().

array()

$_pluralsource

protected static array

Правила склонения для множественного числа.

array(
    'rules' => array(
        '/(s)tatus$/i' => '\1tatuses',
        '/(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|([lre])f)$/i' => '\1\2ves',
        '/sis$/i' => 'ses',
        '/([ti])um$/i' => '\1a',
        '/(p)erson$/i' => '\1eople',
        '/(?<!u)(m)an$/i' => '\1en',
        '/(c)hild$/i' => '\1hildren',
        '/(buffal|tomat)o$/i' => '\1\2oes',
        '/(alumn|bacill|cact|foc|fung|nucle|radi|stimul|syllab|termin)us$/i' => '\1i',
        '/us$/i' => 'uses',
        '/(alias)$/i' => '\1es',
        '/(ax|cris|test)is$/i' => '\1es',
        '/s$/' => 's',
        '/^$/' => '',
        '/$/' => 's',
    ),
    'uninflected' => array(
        '.*[nrlm]ese',
        '.*data',
        '.*deer',
        '.*fish',
        '.*measles',
        '.*ois',
        '.*pox',
        '.*sheep',
        'people',
        'feedback',
        'stadia'
    ),
    'irregular' => array(
        'atlas' => 'atlases',
        'beef' => 'beefs',
        'brief' => 'briefs',
        'brother' => 'brothers',
        'cafe' => 'cafes',
        'child' => 'children',
        'cookie' => 'cookies',
        'corpus' => 'corpuses',
        'cow' => 'cows',
        'criterion' => 'criteria',
        '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',
        'person' => 'people',
        'sex' => 'sexes',
        'soliloquy' => 'soliloquies',
        'testis' => 'testes',
        'trilby' => 'trilbys',
        'turf' => 'turfs',
        'potato' => 'potatoes',
        'hero' => 'heroes',
        'tooth' => 'teeth',
        'goose' => 'geese',
        'foot' => 'feet',
        'sieve' => 'sieves'
    )
)

$_singularsource

protected static array

Правила склонения для единственного числа.

array(
    'rules' => array(
        '/(s)tatuses$/i' => '\1\2tatus',
        '/^(.*)(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)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',
        '/(tive)s$/i' => '\1',
        '/(hive)s$/i' => '\1',
        '/(drive)s$/i' => '\1',
        '/([le])ves$/i' => '\1f',
        '/([^rfoa])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' => ''
    ),
    'uninflected' => array(
        '.*data',
        '.*[nrlm]ese', '.*deer', '.*fish', '.*measles', '.*ois', '.*pox', '.*sheep', '.*ss', 'feedback'
    ),
    'irregular' => array(
        'foes' => 'foe',
    )
)

$_transliterationsource

protected static array

Стандартное отображение акцентированных и специальных символов на ASCII-символы.

array(
    '/À|Á|Â|Ã|Å|Ǻ|Ā|Ă|Ą|Ǎ/' => 'A',
    '/Æ|Ǽ/' => 'AE',
    '/Ä/' => 'Ae',
    '/Ç|Ć|Ĉ|Ċ|Č/' => 'C',
    '/Ð|Ď|Đ/' => 'D',
    '/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/' => 'E',
    '/Ĝ|Ğ|Ġ|Ģ|Ґ/' => 'G',
    '/Ĥ|Ħ/' => 'H',
    '/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ|І/' => 'I',
    '/IJ/' => 'IJ',
    '/Ĵ/' => 'J',
    '/Ķ/' => 'K',
    '/Ĺ|Ļ|Ľ|Ŀ|Ł/' => 'L',
    '/Ñ|Ń|Ņ|Ň/' => 'N',
    '/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ/' => 'O',
    '/Œ/' => 'OE',
    '/Ö/' => 'Oe',
    '/Ŕ|Ŗ|Ř/' => 'R',
    '/Ś|Ŝ|Ş|Ș|Š/' => 'S',
    '/ẞ/' => 'SS',
    '/Ţ|Ț|Ť|Ŧ/' => 'T',
    '/Þ/' => 'TH',
    '/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ/' => 'U',
    '/Ü/' => 'Ue',
    '/Ŵ/' => 'W',
    '/Ý|Ÿ|Ŷ/' => 'Y',
    '/Є/' => 'Ye',
    '/Ї/' => 'Yi',
    '/Ź|Ż|Ž/' => 'Z',
    '/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª/' => 'a',
    '/ä|æ|ǽ/' => 'ae',
    '/ç|ć|ĉ|ċ|č/' => 'c',
    '/ð|ď|đ/' => 'd',
    '/è|é|ê|ë|ē|ĕ|ė|ę|ě/' => 'e',
    '/ƒ/' => 'f',
    '/ĝ|ğ|ġ|ģ|ґ/' => 'g',
    '/ĥ|ħ/' => 'h',
    '/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı|і/' => 'i',
    '/ij/' => 'ij',
    '/ĵ/' => 'j',
    '/ķ/' => 'k',
    '/ĺ|ļ|ľ|ŀ|ł/' => 'l',
    '/ñ|ń|ņ|ň|ʼn/' => 'n',
    '/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º/' => 'o',
    '/ö|œ/' => 'oe',
    '/ŕ|ŗ|ř/' => 'r',
    '/ś|ŝ|ş|ș|š|ſ/' => 's',
    '/ß/' => 'ss',
    '/ţ|ț|ť|ŧ/' => 't',
    '/þ/' => 'th',
    '/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ/' => 'u',
    '/ü/' => 'ue',
    '/ŵ/' => 'w',
    '/ý|ÿ|ŷ/' => 'y',
    '/є/' => 'ye',
    '/ї/' => 'yi',
    '/ź|ż|ž/' => 'z',
)

$_uninflectedsource

protected static array

Слова, которые не должны склоняться.

array(
    'Amoyese', 'bison', 'Borghese', 'bream', 'breeches', 'britches', 'buffalo', 'cantus',
    'carp', 'chassis', 'clippers', 'cod', 'coitus', 'Congoese', 'contretemps', 'corps',
    'debris', 'diabetes', 'djinn', 'eland', 'elk', 'equipment', 'Faroese', 'flounder',
    'Foochowese', 'gallows', 'Genevese', 'Genoese', 'Gilbertese', 'graffiti',
    'headquarters', 'herpes', 'hijinks', 'Hottentotese', 'information', 'innings',
    'jackanapes', 'Kiplingese', 'Kongoese', 'Lucchese', 'mackerel', 'Maltese', '.*?media',
    'mews', 'moose', 'mumps', 'Nankingese', 'news', 'nexus', 'Niasese',
    'Pekingese', 'Piedmontese', 'pincers', 'Pistoiese', 'pliers', 'Portuguese',
    'proceedings', 'rabies', 'research', 'rice', 'rhinoceros', 'salmon', 'Sarawakese', 'scissors',
    'sea[- ]bass', 'series', 'Shavese', 'shears', 'siemens', 'species', 'swine', 'testes',
    'trousers', 'trout', 'tuna', 'Vermontese', 'Wenchowese', 'whiting', 'wildebeest',
    'Yengeese'
)

© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/2.7/class-Inflector.html

Spec-Zone.ru

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