2015-10-24 33 views
3

Symfony2新手在這裏。創建服務時的命名空間錯誤

我嘗試在我的應用程序中創建一個服務。我跟着symfony documentation

這裏是我的代碼:

文件BC/MBundle /資源/配置/ 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? 

回答

2
  1. 移動

    文件BC/MBundle/METAS

    到BC/MBundle/METAS/Metas.php

  2. 嘗試清除高速緩存與

    php app/console cache:clear 
    

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

    用於生產環境

+0

顯示相同的消息。 – mookid

+0

@mookid查看更新回答 – user1636505

+0

它現在可以工作。謝謝! – mookid