geekcell/imagekit-bundle
最新稳定版本:1.0.4
Composer 安装命令:
composer require geekcell/imagekit-bundle
包简介
A Symfony bundle for Imagekit integration
README 文档
README
A Symfony bundle for smooth integration with the PHP SDK for ImageKit.
Installation
To use this package, require it in your Symfony project with Composer.
composer require geekcell/imagekit-bundle
Verify that the bundle has been enabled in config/bundles.php
<?php return [ // other bundles ... GeekCell\ImagekitBundle\GeekCellImagekitBundle::class => ['all' => true], ];
Usage
This bundle uses the concept of "providers" to return an ImageKit asset. The recommended way to interact with providers is to configure them inside config/packages/geek_cell_imagekit.yaml
geek_cell_imagekit: public_key: '%env(IMAGEKIT_PUBLIC_KEY)%' private_key: '%env(IMAGEKIT_PRIVATE_KEY)%' base_url: 'https://ik.imagekit.io' configurations: user_avatars: endpoint: '/user/avatars' transformation: width: 150 height: 150 quality: 70 signed: false user_profile_images: endpoint: '/user/profile_images' transformation: width: 800 height: 800 quality: 80 signed: true expires: 3600
In the example above, we've defined two configurations called user_avatars and user_profile_images. Currently, the following settings are supported:
endpoint- Custom endpoints configured in your ImageKit account.transformation- Key-value pairs of transformations to apply to the asset. Click here the full list of supported transformations.signed- Append a signature to your asset's URL.expires- Expiration time in seconds; must be set ifsignedis set totrue.
If you're using autowiring in your Symfony project, you can then simply typehint GeekCell\ImagekitBundle\Imagekit\ProviderRegistry in your services and/or controllers to inject a registry from which you can retrieve every configured provider by its name.
#[AsController] class AvatarController extends AbstractController { private Provider $avatarProvider; public function __construct(ProviderRegistry $registry) { $this->avatarProvider = $registry->getProvider('user_avatars'); } #[Route('/avatar', name: 'avatar')] public function avatar() { $asset = $this->avatarProvider->provide('some-username.png'); return new JsonResponse([ 'url' => $asset->getUrl(), ]); } }
In a real-world application, of course, you would replace the hard-coded some-username.png path with a path returned from some datastore that corresponds to the asset source(s) you've configured in your ImageKit account.
geekcell/imagekit-bundle 适用场景与选型建议
geekcell/imagekit-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4.09k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 02 月 10 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 geekcell/imagekit-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 geekcell/imagekit-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 4.09k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 11
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-02-10