Spec-Zone.ru › CakePHP 2.8

Класс Inflector

Склонение и обращение английских слов.

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

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

Краткое описание свойств

  • $_cache protected static
    array
    Массив кэша методов.
  • $_initialState protected static
    array
    Начальное состояние Inflector, для работы reset().
  • $_plural protected static
    array
    Правила склонения множественного числа
  • $_singular protected static
    array
    Правила склонения единственного числа
  • $_transliteration protected static
    array
    Стандартная карта соответствия акцентированных и специальных символов ASCII символам
  • $_uninflected protected static
    array
    Слова, которые не должны склоняться

Краткое описание методов

  • _cache() protected static
    Кэширует склоненные значения и возвращает, если они уже есть
  • camelize() public static
    Возвращает слово в нижнем регистре с подчеркиванием в стиле ВерблюжьегоРегистра.
  • classify() public static
    Возвращает имя класса Cake модели (например, "Человек" для таблицы базы данных "люди") для заданной таблицы базы данных.
  • humanize() public static

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

  • pluralize() public static
    Возвращает слово в форме множественного числа.
  • reset() public static

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

  • rules() public static
    Добавляет пользовательские правила склонения типа 'множественного числа', 'единственного числа' или 'транслитерации'.
  • singularize() public static
    Возвращает слово в форме единственного числа.
  • slug() public static

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

  • tableize() public static
    Возвращает соответствующее имя таблицы для заданного класса модели (например, "люди" для класса модели "Человек").
  • underscore() public static
    Возвращает слово в стиле ВерблюжьегоРегистра в виде строки с подчеркиваниями.
  • variable() public static
    Возвращает строку в стиле ВерблюжьегоРегистра, преобразованную из строки с подчеркиваниями.

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

_cache()исходный код protected static

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

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

Параметры

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

Возвращает

строка
Склоненное значение из кэша

camelize()исходный код public static

camelize( string $lowerCaseAndUnderscoredWord )

Возвращает слово в нижнем регистре с подчеркиванием в стиле ВерблюжьегоРегистра.

Параметры

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

Возвращает

строка
Преобразованное слово. Например, ЭтоТак.

Ссылка

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

classify()исходный код public static

classify( string $tableName )

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

Параметры

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

Возвращает

строка
Имя класса

Ссылка

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

humanize()исходный код public static

humanize( string $lowerCaseAndUnderscoredWord )

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

Параметры

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

Возвращает

строка
Читаемая строка

Ссылка

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

pluralize()исходный код public static

pluralize( string $word )

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

Параметры

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

Возвращает

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

Ссылка

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

reset()исходный код public static

reset( )

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

rules()исходный код public static

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

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

Пример использования:

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()исходный код public static

singularize( string $word )

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

Параметры

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

Возвращает

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

Ссылка

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

slug()source public static

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

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

Параметры

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

Возвращает

string

Ссылка

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

tableize()source public static

tableize( string $className )

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

Параметры

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

Возвращает

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

Ссылка

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

underscore()source public static

underscore( string $camelCasedWord )

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

Параметры

string $camelCasedWord
Слово с верблюжьей нотацией, которое нужно преобразовать

Возвращает

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

Ссылка

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

variable()source public static

variable( string $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.8/class-Inflector.html

Spec-Zone.ru

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