Spec-Zone.ru › CakePHP 2.10

Класс Inflector

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

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

Пакет: Cake\Utility
Ссылка: https://book.cakephp.org/2.0/ru/core-utility-libraries/inflector.html
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://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
    Стандартное отображение акцентированных и специальных символов на ASCII символы
  • $_uninflected protected static
    array
    Слова, которые не должны склоняться

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

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

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

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

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

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

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

  • tableize() public static
    Возвращает соответствующее имя таблицы для заданного класса модели $className. ("people" для класса модели "Person").
  • underscore() public static
    Возвращает заданное слово с заглавной первой буквой каждого слова в виде слова с подчёркиваниями.
  • variable() public static
    Возвращает версию camelBack с подчёркнутой строки.

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

_cache()source protected static

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

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

Параметры

string $type
Тип склонения
string $key
Исходное значение
string $value optional false
Склоненное значение

Возвращает

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

camelize()source public static

camelize( string $lowerCaseAndUnderscoredWord )

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

Параметры

string $lowerCaseAndUnderscoredWord
Склоняемое слово

Возвращает

string
Слово в формате с заглавными буквами. Например: LikeThis.

Ссылка

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

classify()source public static

classify( string $tableName )

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

Параметры

string $tableName
Имя таблицы базы данных, для которой требуется имя класса

Возвращает

string
Имя класса

Ссылка

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

humanize()source public static

humanize( string $lowerCaseAndUnderscoredWord )

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

Параметры

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

Возвращает

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

Ссылка

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

pluralize()source public static

pluralize( string $word )

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

Параметры

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

Возвращает

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

Ссылка

https://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 )

Добавляет пользовательские правила склонения $rules, типа 'plural', 'singular' или 'transliteration' $type.

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

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'));

Параметры

string $type
Тип склонения, 'plural', 'singular' или 'transliteration'
array $rules
Массив правил для добавления.
boolean $reset optional false

Если true, удалит все стандартные склонения для новых правил, определённых в $rules.

singularize()source public static

singularize( string $word )

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

Параметры

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

Возвращает

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

Ссылка

https://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
строка, которую нужно преобразовать в slug
строка $replacement необязательно '_'
будет заменять ключи в map

Возвращает

строка

Ссылка

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

tableize()source public static

tableize( string $className )

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

Параметры

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

Возвращает

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

Ссылка

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

underscore()source public static

underscore( string $camelCasedWord )

Возвращает заданное слово camelCasedWord в виде слова с подчеркиваниями underscored_word.

Параметры

строка $camelCasedWord
Слово в формате camelCase, которое нужно преобразовать

Возвращает

строка
Версия $camelCasedWord с подчеркиваниями

Ссылка

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

variable()source public static

variable( string $string )

Возвращает версию подчёркнутой строки в формате camelCase.

Параметры

строка $string
Строка, которую нужно преобразовать.

Возвращает

строка
Строка в формате camelCase

Ссылка

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

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

$_cachesource

protected static массив

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

array()

$_initialStatesource

protected static массив

Начальное состояние Inflector, для работы функции reset().

array()

$_pluralsource

protected static массив

Правила множественного числа

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(
    '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 массив

Список соответствий символов с диакритикой и специальных символов 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(
    '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–2017 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.10/class-Inflector.html

Spec-Zone.ru

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