2014-07-19 49 views
1

在我的主local.php我有以下代码:Yii2覆盖AssetConverter类

'assetManager' => [ 
     'converter' => [ 
      'class' => 'yii\web\AssetConverter', 
     ] 
] 

现在我要重写我自己的转换器的默认AssetConverter。当我将班级更改为custom\web\AssetConverter时,它找不到该班级。

我在vendor\custom\web下创建了一个目录,其中AssetConverter.php文件和一个命名空间custom\web

我必须在哪里创建自己的AssetConverter文件?我是否必须在某处注册供应商,以便找到名称空间?

回答

0

您的类命名空间不正确,也是作曲家包的vendor目录。 例如,将components或文件夹创建为项目根文件夹。 在这种情况下,你的类的命名空间应该是这样的(与基本的应用程序模板):

namespace app\components; 

然后包括它的配置:

'assetManager' => [ 
    'converter' => [ 
     'class' => 'app\components\AssetConverter', 
    ] 
] 

此外,您AssetConverter应在案件延伸\yii\web\AssetConverter你会得到错误,找不到什么类。

+0

非常感谢。命名空间对我来说有点新,有时会令人困惑。 –