2014-12-06 136 views
3

我想創建一個簡單的枝條延伸({{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

回答

2

變化<?變爲<?php。我複製了你的代碼,並且在這個修改中,symfony終於找到了這個類。

+0

.. omg非常感謝。這確實是;) – Ferret 2014-12-07 07:32:47