Symfony2创建枝条延伸

问题描述:

我想创建一个简单的枝条延伸({{imgWidth(...)}}),它调用getimagesize()并返回服务器上的图像的widthheightSymfony2创建枝条延伸

我跟着你可以找到here的instuctions。

当我刷新我的网页,我只能看到一个空白页 - 在error.log告诉我,

PHP Fatal error: Class 'Fms\MediaBundle\Twig\Extension\ImgsizeExtension' not found in /var/www/fms/app/cache/dev/appDevDebugProjectContainer.php on line 4773

服务MediaBundle\Resources\config\services.yml样子:

services: 
    twig.extension.imgsize: 
     class: Fms\MediaBundle\Twig\Extension\ImgsizeExtension 
     tags: 
      - name: twig.extension 

是:

<? 
// src/Fms/MediaBundle/Twig/Extension/ImgsizeExtension.php 
namespace Fms\MediaBundle\Twig\Extension; 

class ImgsizeExtension extends \Twig_Extension 
{ 
    public function getFunctions() 
    { 
     return array(
      new \Twig_SimpleFunction('imgsize', array($this, 'imgWidth')) 
     ); 
    } 

    public function imgWidth($mediaId = 0, $mediaSize = 'L') 
    { 
     // ... 
     return $mediaId; 
    } 

    public function getName() 
    { 
     return 'imgsize'; 
    } 
} 

通过控制台清除缓存或手动也没有帮助。

+0

空白页面显示您正在生产模式下运行,而错误日志显示您处于开发模式。仔细检查你是否处于开发模式。你有没有扩展名的个人资料栏?它看起来像你的配置是正确的,我认为你正在生产模式下运行,并且你还有其他错误。 – Cerad 2014-12-06 14:32:12

+0

Nah我在devMode。只要我删除服务中的代码,一切都可以(包括调试栏)。 – Ferret 2014-12-06 14:34:48

+0

好吧,但在开发模式中,我希望错误能够在浏览器中正确显示。 – Cerad 2014-12-06 15:01:02

变化<?变为<?php。我复制了你的代码,并且在这个修改中,symfony终于找到了这个类。

+0

.. omg非常感谢。这确实是;) – Ferret 2014-12-07 07:32:47