developeruz/yii-behaviors
Composer 安装命令:
composer require developeruz/yii-behaviors
包简介
Behaviors for Yii2
README 文档
README
###Установка:###
$ php composer.phar require developeruz/yii-behaviors "*"
DateTimeBehavior
Часто в проектах бывает нужно отобразить дату, хранимую в БД как datetime в привычном для пользователя формате.
Данное поведение конвертирует дату в заданный формат после получения модели из БД, и возвращает его в правильный для БД формат перед валидацией
Пример использования в моделе:
use developeruz\behaviors\DateTimeBehavior; public function behaviors() { return [ 'dateTimeStampBehavior' => [ 'class' => DateTimeBehavior::className(), 'dateTimeFields' => 'date_create', //атрибут модели, который будем менять 'format' => 'd/m/Y H:i', //формат вывода даты для пользователя ] ] }
SimpleFormBehavior
Поведение генерирует форму для модели и сохраняет ее в переменной класса модели
Пример использования в модели:
use developeruz\behaviors\SimpleFormBehavior; public $form; public function behaviors() { return [ 'SimpleFormBehavior' => [ 'class' => SimpleFormBehavior::className(), 'resultFormField' => 'form', // поле в модели, в котором хранится готовая форма 'scenario' => 'test', // сценарий, порядок полей в форме будет соотвествовать порядку перечисления полей в сценарии 'config' => [ SimpleFormBehavior::TypeHidden => ['parent_id'], SimpleFormBehavior::TypeBoolean => ['moderation'], ], 'formOption' => [ 'enctype'=> 'multipart/form-data'], 'widget' => [ 'content' => [ 'class' => TinyMce::className(), 'config' => [ 'options' => ['rows' => 6], 'language' => 'ru', ] ] ], ]; }
После привязки поведения к модели, в представлении можно использовать переменную $form для вывода готовой формы
<?= $model->form ?>
В config указываются нестандартные типы полей (password, hidden, file и т.п.). Типы "строка" или "текст" указывать не обязательно.
Также есть возможность добавить виджет к любому из полей формы.
ThumbBehavior
Поведение для загрузки изображений и генерации превью-картинок.
Подцепляем к модели:
use developeruz\behaviors\ThumbBehavior; public function behaviors() { return [ 'thumbBehavior' => [ 'class' => ThumbBehavior::className(), 'fileAttribute' => 'thumb', //атрибут модели для картинки 'saveDir' => '/../frontend/web/upload/', //путь для сохранения картинок 'previewSize' => [[100, 100], [250, 250]] //размеры генерируемых превью ], ]; }
Теперь перед валидацией модели, поведение сохранит картинку, если она была загружена. Присвоит атрибуту модели имя сохранненного файла и сгенерирует превью для заданных размеров. А перед удалением модели - удалит картинку и все превью. Атрибуту модели, указанному в fileAttribute будет присвоено уникальное имя сохраненного файла. Получить доступ к имени картинки и превью можно через методы getImage() и getPreview($size)
$post = Post::findOne(1); $post->getImage(); // возвращает имя картинки, без полного пути до директории сохранения $post->getPreview([100,100]); // возвращает имя превью задданого размера, без полного пути до директории сохранения
Если превью указанного размера не существует, метод getPreview возвращает false. Важно: saveDir - путь для сохранения картинок указывается относительно корня текущего приложения Yii::$app->basePath.
developeruz/yii-behaviors 适用场景与选型建议
developeruz/yii-behaviors 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 183 次下载、GitHub Stars 达 12, 最近一次更新时间为 2014 年 10 月 29 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「behaviors」 「Behavior」 「yii」 「date-converter」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 developeruz/yii-behaviors 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 developeruz/yii-behaviors 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 developeruz/yii-behaviors 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A CakePHP plugin to provide easy access to zumba/swivel
Yii2 LightBox image galary widget uses Lightbox v2.10.0 by Lokesh Dhakar
This is a set of Yii2 behaviors extensions
Doctrine2 behavior traits - slowhop fork
Doctrine2 behavior traits
Priveate for SkeekS CMS
统计信息
- 总下载量: 183
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 12
- 点击次数: 17
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2014-10-29