2014-09-18 61 views
3

当运行工作区/ app_dev.php,没有问题,但,当我尝试运行工作区/ app.php我得到:Symfony的2.5“您已请求不存在的服务‘siteTest.b’

“你已经要求一个不存在的服务”siteTest.b“

我没有第一个线索我做错了什么。

应用程序/配置/ config.yml:

imports: 
    - { resource: parameters.yml } 
    - { resource: security.yml } 
framework: 
    secret:   "%secret%" 
    router: 
     resource: "%kernel.root_dir%/config/routing.yml" 
     strict_requirements: ~ 
    form:   ~ 
    csrf_protection: ~ 
    validation:  { enable_annotations: true } 
    templating: 
     engines: ['twig'] 
    default_locale: "%locale%" 
    trusted_hosts: ~ 
    trusted_proxies: ~ 
    session: 
     handler_id: ~ 
    fragments:  ~ 
    http_method_override: true 

的src /网站/ TestBundle /资源/配置/ services.yml:

parameters: 
    siteTest.aa: Site\TestBundle\Controller\a 

services: 
    siteTest.b: 
     class: %siteTest.aa% 

的src /网站/ TestBundle /DependencyInjection/SiteTestExtension.php:

namespace Site\TestBundle\DependencyInjection; 

use Symfony\Component\DependencyInjection\ContainerBuilder; 
use Symfony\Component\Config\FileLocator; 
use Symfony\Component\HttpKernel\DependencyInjection\Extension; 
use Symfony\Component\DependencyInjection\Loader; 
class SiteTestExtension extends Extension 
{ 
    /** 
    * {@inheritDoc} 
    */ 
    public function load(array $configs, ContainerBuilder $container) 
    { 
     $configuration = new Configuration(); 
     $config = $this->processConfiguration($configuration, $configs); 

     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); 
     $loader->load('services.yml'); 
    } 
} 

SRC /站点/ TestBundle /控制器/ a.php只会:

namespace Site\TestBundle\Controller; 
class a { 
    public function printTest() { 
     var_dump('Test'); 
     exit; 
    } 
} 

SRC /站点/ TestBundle /控制器/ DefaultController.php:

namespace Site\TestBundle\Controller; 

use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
use Symfony\Component\HttpFoundation\Response; 

class DefaultController extends Controller 
{ 
    public function indexAction() 
    { 
     $aaa = $this->get('siteTest.b'); 
     exit(); 
    } 
} 
+0

清楚你的'prod'缓存 – dmnptr 2014-09-18 18:07:48

回答

8

运行命令php app/console cache:clear --env=prod清除您的prod缓存

相关问题