dwr/avatar-bundle
Composer 安装命令:
composer require dwr/avatar-bundle
包简介
Simply Symfony 3.x & Symfony 2.x bundle which creates avatars images using GD.
README 文档
README
DwrAvatarBundle
This bundle provides easy image avatar generator support for Symfony2 and Symfony3.
Example of avatars:
plainAvatars:
profileAvatars:
In order to generate Avatar you can:
In Controller
public function indexAction() { $avatar = new AvatarFactory(); //for plainAvatar $plainAvatar = $avatar->generate(new PlainAvatar(140, 140)); //for profileAvatar $profileAvatar = $avatar->generate(new ProfileAvatar(140, 140)); return array( 'plainAvatar' => $plainAvatar->render() 'profileAvatar' => $profileAvatar->render() ); }
And in a view file (twig):
<img src="data:image/jpg;base64,{{ plainAvatar }}" > <img src="data:image/jpg;base64,{{ profileAvatar }}" >
Installation
Installation is a quick 3 steps process:
- Download DwrAvatarBundle using composer
- Enable the Bundle
- Add routing to routing.yml in order to can open example in your browser
Step 1: Download DwrAvatarBundle using composer
Add DwrAvatarBundle in version 2.0 (for Symfony 3) in your composer.json:
{ "require": { "dwr/avatar-bundle": "2.0" } }
Add DwrAvatarBundle in version 1.0 (for Symfony 2) your composer.json:
{ "require": { "dwr/avatar-bundle": "1.0" } }
Download the bundle by running the command:
$ php composer.phar require dwr/avatar-bundle
Composer will install the bundle into your project's vendor/dwr/avatar-bundle directory.
Step 2: Enable the bundle
Enable the bundle in the kernel:
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Dwr\AvatarBundle\DwrAvatarBundle(), ); }
Step 3: Add routing to routing.yml in order to can open example in your browser
dwr_avatar: resource: "@DwrAvatarBundle/Controller/" type: annotation prefix: /dwr_avatarbundle
Congratulations! You're ready to generate avatars in your symfony application. Example how PlainAvatar looks like you can find on: yours-application-url/dwr_avatarbundle/avatar .
Usage
Generate avatar in base64 stream
Controller
public function indexAction() { $avatar = new AvatarFactory(); //for plainAvatar $plainAvatar = $avatar->generate(new PlainAvatar(140, 140)); //for profileAvatar $profileAvatar = $avatar->generate(new ProfileAvatar(140, 140)); return array( 'plainAvatar' => $plainAvatar->render() 'profileAvatar' => $profileAvatar->render() ); }
View (twig)
<img src="data:image/jpg;base64,{{ plainAvatar }}" > <img src="data:image/jpg;base64,{{ profileAvatar }}" >
Outputs
Example how to generate avatars in base64 stream is also stored in AvatarBundle/Controller/DefaultController.php.
Generate avatar and save it to file
public function indexAction() { $avatar = new AvatarFactory(); $plainAvatar = $avatar->generate(new PlainAvatar(140, 140)); return array( 'plainAvatar' => $plainAvatar->save('web/images/avatar/directory') ); }
Above example generates avatar file into directory. Directory name is passed in function save as parameter. File name will be generated automatically based on this:
$filename = date('YmdHis') . uniqid() . '.jpg';
In order to generate avatar with your own filename you can pass filename (e.g image.jpg) as second argument of save method.
public function indexAction() { $avatar = new AvatarFactory(); $plainAvatar = $avatar->generate(new PlainAvatar(140, 140)); return array( 'plainAvatar' => $plainAvatar->save('web/images/avatar/directory', 'image.jpg') ); }
Change log
Please see CHANGELOG for more information on what has changed recently.
Troubleshooting
- Make sure you have GD installed on your web server. http://php.net/manual/en/function.gd-info.php
dwr/avatar-bundle 适用场景与选型建议
dwr/avatar-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 9.16k 次下载、GitHub Stars 达 5, 最近一次更新时间为 2014 年 10 月 24 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「image」 「avatar」 「avatar generator」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 dwr/avatar-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 dwr/avatar-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 dwr/avatar-bundle 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Memio's PrettyPrinter, used to generate PHP code from given Model
Generate an Adorable Avatar for Laravel
Yii2 LightBox image galary widget uses Lightbox v2.10.0 by Lokesh Dhakar
The Yii2 extension uses jQuery jquery.carousel-1.1.min.js and makes image carousel from php array of structure defined.
Change the default avatar url provider with one for inline SVGs
Avatar extension for Contao Open Source CMS
统计信息
- 总下载量: 9.16k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 15
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2014-10-24