CakePHP Inflector по определенным словам возвращает поменяемые буквы
У меня есть система управления контентом, которая использует инфлектор Cake для вывода записей с множественным числом, если я обнаружил, что доступно более одного.
if ($amt >= 2)
$object_name = Inflector::pluralize($object_name);
Это хорошо работает для любого объекта, если его нет в "неправильном" списке Инфлектора.
http://inflector.cakephp.org/The%20Purple%20Cow возвращает "The Purple Tows" http://inflector.cakephp.org/Purple%20Cow возвращает "Purple Pows" http://inflector.cakephp.org/The%20Purple%20Goose возвращает "The Purple Teese" http://inflector.cakephp.org/Purple%20How возвращает "Purple Hows", как и ожидалось
По какой-то причине он заменяет первую букву последнего слова первой буквой первого слова, а затем добавляет S, как и ожидалось.
ОБНОВЛЕНИЕ: ошибка CakePHP, задокументированная здесь. Будет исправлено в 2.6.5. Вопрос был изменен, чтобы избежать путаницы.
1 ответ
Кажется, это ошибка, характерная для слова Корова в последней позиции. "Фиолетовая курица" и "Фиолетовая курица" работают нормально. "Cow Fence" отлично работает. Но "Большая корова" или "Большая корова" воспроизводят ошибку.
Я бы порекомендовал посмотреть на открытие билетов, используя их рекомендации здесь.
Вам нужно будет найти существующие билеты, связанные с инфлектором, чтобы увидеть, было ли уже сообщено. Есть несколько других проблем с инфлектором, но я ничего не нашел, когда искал термин корова.