Добавить информацию о php-intl в документацию SluggableBehavior

Уже исправленные репорты или принятые предложения
Ответить
nickdenry
Сообщения: 99
Зарегистрирован: 2015.10.28, 04:55

Добавить информацию о php-intl в документацию SluggableBehavior

Сообщение nickdenry »

В документации не указано, что для корректной работы SluggableBehavior требуется php-intl. Также php-intl нет в зависимостях, код просто не работает, пока не установлен php-intl.

Нашел информацию в старой теме:
https://www.yiiframework.ru/forum/viewtopic.php?t=19445

Предлагаю добавить в документацию.
Ответственные программисты с высоким уровнем технического долга (c)
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Добавить информацию о php-intl в документацию SluggableBehavior

Сообщение samdark »

Да, можно. pull request сделаете?
nickdenry
Сообщения: 99
Зарегистрирован: 2015.10.28, 04:55

Re: Добавить информацию о php-intl в документацию SluggableBehavior

Сообщение nickdenry »

С удовольствием, только я не нашел этой статьи в yii2/docs

https://github.com/yiisoft/yii2/find/master

В cookbook немного не то

https://github.com/samdark/yii2-cookboo ... g-slugs.md

Где искать?
Ответственные программисты с высоким уровнем технического долга (c)
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Добавить информацию о php-intl в документацию SluggableBehavior

Сообщение samdark »

В phpdoc самого класса.
nickdenry
Сообщения: 99
Зарегистрирован: 2015.10.28, 04:55

Re: Добавить информацию о php-intl в документацию SluggableBehavior

Сообщение nickdenry »

Отлично. Напишу здесь текст для согласования.
Ответственные программисты с высоким уровнем технического долга (c)
nickdenry
Сообщения: 99
Зарегистрирован: 2015.10.28, 04:55

Re: Добавить информацию о php-intl в документацию SluggableBehavior

Сообщение nickdenry »

Получилось два вот таких варианта:

1. Note: This behavior depends on php-intl extension installed.

2. Note: You should have php-intl package installed for SluggableBehavior works.

Например,

Код: Выделить всё

/**
 * SluggableBehavior automatically fills the specified attribute with a value that can be used a slug in a URL.
 *
 * Note: This behavior depends on php-intl extension installed.
 *
 * To use SluggableBehavior, insert the following code to your ActiveRecord class:
 *
 * ```php
 * use yii\behaviors\SluggableBehavior;
 *
 * public function behaviors()
 * {
 *     return [
 *         [
 *             'class' => SluggableBehavior::className(),
 *             'attribute' => 'title',
 *             // 'slugAttribute' => 'slug',
 *         ],
 *     ];
 * }
Склоняюсь к первому варианту.
Ответственные программисты с высоким уровнем технического долга (c)
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Добавить информацию о php-intl в документацию SluggableBehavior

Сообщение samdark »

Да, первый норм. Второй немного некорректен с точки зрения языка, да и длиннее.
nickdenry
Сообщения: 99
Зарегистрирован: 2015.10.28, 04:55

Re: Добавить информацию о php-intl в документацию SluggableBehavior

Сообщение nickdenry »

Готово. Issue открывать?

https://github.com/yiisoft/yii2/pull/15997
Ответственные программисты с высоким уровнем технического долга (c)
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Добавить информацию о php-intl в документацию SluggableBehavior

Сообщение samdark »

Не, всё уже в master.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Добавить информацию о php-intl в документацию SluggableBehavior

Сообщение samdark »

Спасибо.
nickdenry
Сообщения: 99
Зарегистрирован: 2015.10.28, 04:55

Re: Добавить информацию о php-intl в документацию SluggableBehavior

Сообщение nickdenry »

Дополнено отлично, спасибо.

Код: Выделить всё

+ * Note: This behavior relies on php-intl extension for transliteration. If it is not installed it
+ * falls back to replacements defined in [[\yii\helpers\Inflector::$transliteration]].
Мне немного не нравится, что явно не проговаривается ситуация, что slug возвращается пустой без php-intl. Т.е. fallback не содержит кириллицы (и не только), это понятно, slug возвращается пустой, человек лезет в документацию и видит наше замечание. Да, вроде достаточно. Спасибо еще раз.

UPD. Или все-таки лезет на форум, - не работает же :)
Ответственные программисты с высоким уровнем технического долга (c)
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Добавить информацию о php-intl в документацию SluggableBehavior

Сообщение zelenin »

коллеги, а не судьба исключение выкинуть, если нет расширения?
так же это называется intl extension или php intl extension, но не php-intl. php-intl - это одно из версий названия пакета на некоторых осях. Пакет может быть разным, а может и не быть пакета.
nickdenry
Сообщения: 99
Зарегистрирован: 2015.10.28, 04:55

Re: Добавить информацию о php-intl в документацию SluggableBehavior

Сообщение nickdenry »

Код: Выделить всё

коллеги, а не судьба исключение выкинуть, если нет расширения?
Вот я как-то пытался это сформулировать, но не вышло. Но, с другой стороны, поведение не работает не вообще, а только если символов языка (например, кириллицы) нет в \yii\helpers\Inflector::$transliteration. Т.е. без расширения intl есть fallback, но он не работает (работает не всегда).

Мне не очень понятно, как правильно разрешить эту ситуацию пока. С замечанием однозначно лучше, чем без него.
Ответственные программисты с высоким уровнем технического долга (c)
Ответить