Symfony 2.5 «Вы запросили несуществующий сервис» siteTest.b «

При запуске workspace / app_dev.php проблем нет. Но когда я пытаюсь запустить workspace / app.php, я получаю:

«Вы запросили несуществующий сервис» siteTest.b «

Я понятия не имею, что я делаю не так.

app / config / 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

ЦСИ / сайт / TestBundle / Ресурсы / конфигурация / services.yml:

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

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

src / Site / 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 / Site / TestBundle / Controller / a.php:

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

ЦСИ / сайта / TestBundle / Controller / 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();
}
}

4

Решение

Команда запуска php app/console cache:clear --env=prod очистить ваш prod кэш

8

Другие решения

Вам также может понадобиться добавить код ниже внутри

imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: '@TestBundle/Resources/config/services.yml' }

в качестве альтернативы вы можете использовать конфигурацию поваренной книги http://symfony.com/doc/current/cookbook/bundles/extension.html#cookbook-bundles-extension-config-class

12

По вопросам рекламы [email protected]