创建服务时出现命名空间错误

时间:2015-10-24 20:21:17

标签: php symfony

Symfony2新手在这里。

我尝试在我的应用程序中创建服务。我跟着symfony documentation

这是我的代码:

文件BC / MBundle / Resources / config / services.yml:

---
services:
    metas:
        class: BC\MBundle\Metas\Metas

文件BC / MBundle / Metas

<?php
namespace BC\MBundle\Metas;    
class Metas {
    public function queryAllCategories() {
        return array();
    }
}

文件BC / MBundle / Controller / AController.php

<?php
namespace BC\MBundle\Controller;
// ...
use BC\MBundle\Metas\MetasController;

class AController extends Controller {
    public function homeAction() {
        return $this->render(
            'tpl.html.twig',
            array(
                'categories' => $this->get('metas')->queryAllCategories(),
             )
        );
    }
}

错误是:

Attempted to load class "Metas" from namespace "BC\MBundle\Metas".
Did you forget a "use" statement for another namespace?

1 个答案:

答案 0 :(得分:2)

  1. 移动

      

    文件BC / MBundle / Metas

    到BC / MBundle / Metas / Metas.php

  2. 尝试使用

    清除缓存
    php app/console cache:clear
    

    php app/console cache:clear --env=prod
    

    用于生产环境