chulakov/yii2-typograph
Composer 安装命令:
composer require chulakov/yii2-typograph
包简介
Typograph component for Yii2
README 文档
README
Компонент типографа для Yii2
Пакет позволяет встроить типограф в Yii2-фреймворк. Пакет состоит из поведения и компонента типографа.
Установка
Чтобы установить пакет, нужно в composer.json добавить следующие строки:
"require": { "chulakov/yii2-typograph": "^1.0.0", }
Или набрать команду:
composer require chulakov/yii2-typograph
Способ подключения компонента
В файле common/config/main добавляется компонент. Компонент должен реализовывать интерфейс TypografInterface из пакета chulakov/ch-php-typograph:
return [ 'components' => [ ... 'typograph' => [ 'class' => 'Chulakov\Typograph\TypographComponent', ], ] ];
В компоненте указан класс типографа по умолчанию TypographFacade
Есть возможность переопределить правила типографа внутри компонента. Для этого в свойства компонента additionalRulesPath и changedRulesPath кладутся пути файлов с новыми правилами типографа и/или с изменениями старых правил. Приведены примерные пути файлов.
Замечание 1: новые правила - правила, которые необходимо добавить к старым
Замечание 2: пример задания конфигурации правил или их изменений (пункт 3-4)
return [ 'components' => [ ... 'typograph' => [ 'class' => 'Chulakov\Typograph\TypographComponent', 'additionalRulesPath' => '@common/components/typograph/config/additionalRules.php', 'changedRulesPath' => '@common/components/typograph/config/changedRules.php', ], ] ];
В компоненте TypographComponent реализована функция process, которая типографирует текст:
$typographComponent->process('до н. э.');
Способ подключения поведения
Поведение можно прикреплять к форме и указывать поля, значение которых необходимо типографировть
public function behaviors() { return [ [ 'class' => TypographBehaviour::class, 'attributes' => ['title'] ], ]; }
Если поле формы составное, например, если поле является MultipleInput объектом, то его следует задавать в виде массива:
public function behaviors() { return [ [ 'class' => TypographerBehaviour::class, 'attributes' => [ 'items' => [ 'properties' => ['title', 'description'] ] ] ], ]; }
Необходимо, чтобы в конструктор поведения прокидывалась реализация интерфейса TypografInterface
В Yii2 есть способ передачи компонента типографа, реализующего интерфейс TypografInterface, через внедрение зависимостей
Такое можно осуществить, прописав в реализации интерфейса BootstrapInterface код:
\Yii::$container->setSingleton('Chulakov\PhpTypograph\TypografInterface', function() use ($app) { return $app->get('typograph'); });
统计信息
- 总下载量: 163
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2021-11-16