Spec-Zone.ru › CakePHP 2.9

Класс Inflector

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

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

Пакет: Cake\Утилиты
Ссылка: http://book.cakephp.org/2.0/ru/core-utility-libraries/inflector.html
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
Расположение: 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
    Стандартное отображение на аск. символы с диакритикой и специальных символов.
  • $_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()source protected static

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

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

Параметры

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

Возвращает

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

camelize()source public static

camelize( string $lowerCaseAndUnderscoredWord )

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

Параметры

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

Возвращает

строка
Преобразованное слово. Например: LikeThis.

Ссылка

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

classify()source public static

classify( string $tableName )

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

Параметры

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

Возвращает

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

Ссылка

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

humanize()source public static

humanize( string $lowerCaseAndUnderscoredWord )

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

Параметры

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

Возвращает

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

Ссылка

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

pluralize()source public static

pluralize( string $word )

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

Параметры

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

Возвращает

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

Ссылка

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

reset()source public static

reset( )

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

rules()source 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()source public static

singularize( string $word )

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

Параметры

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

Возвращает

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

Ссылка

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

slug()source public static

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

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

Параметры

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

Возвращает

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
Версия слова с подчеркиванием для $camelCasedWord

Ссылка

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.
https://api.cakephp.org/2.9/class-Inflector.html

Spec-Zone.ru

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