- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于 (Symfony 4) How do I access the Liip Imagine bundle from within PHP code?我找到了一个使用 Liip Imagine Cache 的解决方案,但我无法让它工作。两种解决方案,它们都不适合我。我完全不知道为什么。
当我尝试使用 harmstyler 的解决方案时
$imagineCacheManager = $this->get('liip_imagine.cache.manager');
然后在我的 Controller 中我得到一个 ServiceNotFoundException
Service "liip_imagine.cache.manager" not found: even though it exists in the app's container, the container inside "App\Controller\MemberController" is a smaller service locator that only knows about the "doctrine", "form.factory", "http_kernel", "parameter_bag", "request_stack", "router", "security.authorization_checker", "security.csrf.token_manager", "security.token_storage", "serializer", "session" and "twig" services. Try using dependency injection instead.
所以我尝试了 Alister Bulman 的建议,将其手动注入(inject)到 service.yaml 中的一个类中,但这也不起作用。
在我的 service.yaml 中有
app.imagine_cache_manager:
class: Liip\ImagineBundle\Imagine\Cache\CacheManager
arguments: ["@liip_imagine.cache.manager"]
在我的 Controller 中我有
$imagineCacheManager = $this->get('app.imagine_cache_manager');
这导致我遇到同样的异常
Service "app.imagine_cache_manager" not found: even though it exists in the app's container, the container inside "App\Controller\MemberController" is a smaller service locator that only knows about the "doctrine", "form.factory", "http_kernel", "parameter_bag", "request_stack", "router", "security.authorization_checker", "security.csrf.token_manager", "security.token_storage", "serializer", "session" and "twig" services. Try using dependency injection instead.
[顺便说一句,我实际上想做的是:我有成员,每个成员都有一个图像。创建成员 我有一个图像上传,让 Liip 创建主图像的调整大小的图像。当我删除图片或成员时,当然我也想删除Liip缓存的图片。这就是为什么我尝试让 Liip 缓存管理器能够获取缓存的图像路径以便能够删除它们。另一种方法是使用事件监听器,但这对我也不起作用。我将在另一个问题中总结 Listener 方法。]
最佳答案
这是由于 Controller
类在 Symfony4 中被弃用为 Controller 的基类。现在推荐的 AbstractController
类使用一个较小的容器,其中仅包含通过 ServiceSubscriberInterface
声明的服务(您可以查看 AbstractController::getSubscribedServices()
方法来查看默认情况下可用的服务)。
你可以:
在 Controller 中扩展 getSubscribedServices()
函数并将 CacheManager
作为服务之一包含在内。
直接在 Controller 中注入(inject)服务(推荐):
namespace App\Controller;
use Liip\ImagineBundle\Imagine\Cache\CacheManager;
class MemberController extends AbstractController
{
public function __construct(CacheManager $liipCache)
{
$this->imagineCacheManager = $liipCache;
}
}
您可以阅读有关此更改的信息 in the announcement
关于php - 从 Controller 访问 Liip Imagine bundle - 将服务分配给变量(Symfony 4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56528116/
我正在尝试按照集成说明使用 Liip Imagine 与 Sonata Media 生成缩略图: http://sonata-project.org/bundles/media/master/doc/
我在 yii2 中得到了这段代码: Image::thumbnail($path, 100, 100)->save($thumbnail, ['quality' => 50]); 我认为它会调整原始图
我有一个项目,我将上传的图像保存在 src/My/Bundle/Resources/uploads/images/full 中,并使用 twig 过滤器 imagine_filter 动态创建缩略图。
我正在尝试使用Python 进行layerstack 操作。但是,我陷入了错误。 这里是示例代码: import os,sys from imagine import modeler m = mode
我有以下几点: namespace App\Http\Controllers; use Illuminate\Http\Request; use Imagine\Image\Box; use Imag
我想要生成的效果与中的示例完全相同 this StackOverflow thread :(相关问题) 1.调整图片大小 2.保持比例 3.添加或填充白色背景的非图像区域 以下是此过程的三个示例: 1
我使用下面的函数在上传后调整图像大小以显示在我的帖子上。但它仅适用于大于 500px 300px 的图像。当我上传小于此尺寸的图像时,我的网站图像行会崩溃。 use yii\imagine\Image
我正在创建一个将包含在我的其余页面中的 php,我希望它包含 Logo 、标语和指向站点所有页面的 CSS 样式的链接。我正在使用: 在我所有页面的开头。 但是,在此页面中,我想创建一个空的 DIV
我正在尝试调整图像大小以生成缩略图、卡片等。但是,在调整图像大小时,它似乎保持纵横比,这不起作用,因为原始图像通常是矩形,而缩略图、卡片等具有方形图像/与原始图像不同的纵横比。另外,如果宽高比相同,那
我希望能够上传一个文件,并从中创建 3 个缩略图并将所有内容存储在 S3 服务器上。 我的 liip/LiipImagineBundle 设置如下: liip_imagine : # configur
我希望能够上传一个文件,并从中创建 3 个缩略图并将所有内容存储在 S3 服务器上。 我的 liip/LiipImagineBundle 设置如下: liip_imagine : # configur
我的代码没有输出预期的输出。该代码由一个模块文件(egree.py)和6个其他文件组成,这些文件运行模块并根据用户在(C,F,K)中的输入输出以(C,F或K)为单位的温度。换句话说,这6个文件分别在不
关于 (Symfony 4) How do I access the Liip Imagine bundle from within PHP code?我找到了一个使用 Liip Imagine Ca
关于 (Symfony 4) How do I access the Liip Imagine bundle from within PHP code?我找到了一个使用 Liip Imagine Ca
我遇到 Visual Studio 时出现错误并提出问题。 我安装了 POWERVRSDK_2017 并运行了 OGLESHelloAPI.sln,这是安装后的示例文件。执行后,程序没有响应就终止了,
目前我正在从事JAVA应用程序的工作。我刚刚在 RAD_9.1.1 中从 SVN checkout 了项目。当我将相关的 jar 添加到我的项目中时,我遇到了以下类路径错误。 有人能解决这个问题吗?
我是一名优秀的程序员,十分优秀!