gpt4 book ai didi

php - Symfony 2.5 "You have requested a non-existent service "siteTest.b"

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:53:03 24 4
gpt4 key购买 nike

当运行 workspace/app_dev.php 时,没问题。但是当我尝试运行 workspace/app.php 时,我得到:

"You have requested a non-existent service "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/Site/TestBundle/Resources/config/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;
}
}

src/Site/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();
}
}

最佳答案

你可能还需要在里面添加下面的代码

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

关于php - Symfony 2.5 "You have requested a non-existent service "siteTest.b",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25919496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com