Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 2.7-未加载/注册服务_Symfony_Service_Symfony 2.7 - Fatal编程技术网

Symfony 2.7-未加载/注册服务

Symfony 2.7-未加载/注册服务,symfony,service,symfony-2.7,Symfony,Service,Symfony 2.7,正在使用Symfony 2.7- 我在一个自定义捆绑包中创建了一个新服务(ipad.registerchecksum),现在我尝试在另一个自定义捆绑包中的另一个服务(ipad.download\u history)中将其用作参数,但出现以下错误: “ipad.download_history”服务依赖于一个不存在的 服务“ipad.registerchecksum” 创建我的服务: <?php namespace MyCompany\MyBundle2\Services; class

正在使用Symfony 2.7-

我在一个自定义捆绑包中创建了一个新服务(ipad.registerchecksum),现在我尝试在另一个自定义捆绑包中的另一个服务(ipad.download\u history)中将其用作参数,但出现以下错误:

“ipad.download_history”服务依赖于一个不存在的 服务“ipad.registerchecksum”

创建我的服务:

<?php

namespace MyCompany\MyBundle2\Services;

class Registerchecksum
{

    public function sayHello()
    {
        return "Hello";
    }

}

?>
加载我的服务。yml:

<?php

namespace MyCompany\MyBundle2\DependencyInjection;

use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\Loader;


class MyBundle2Extension extends Extension
{

    public function load(array $configs, ContainerBuilder $container)
    {
        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
        $loader->load('datagrid/datagrids.yml');
        $loader->load('navigation.yml');
        $loader->load('services.yml');
    }

    // Please note : navigation.yml and datagrid/datagrids.yml are well loaded and work perfectly

}
?>

。。这项服务似乎没有注册

  • 如果我测试“/app/console container:debug”,它不会出现
  • 我已经清理了缓存(开发和生产),也清理了预热缓存
$rm-rf应用程序/cache/*

#MyCompany\MyBundle2\Resources\Config\services.yml

services:
    ipad.registerchecksum:
        class: MyCompany\MyBundle2\Services\Registerchecksum

    ipad.download_history:
        class: Your Service
        arguments: ["@ipad.registerchecksum"]
$rm-射频应用程序/缓存/*

#MyCompany\MyBundle2\Resources\Config\services.yml

services:
    ipad.registerchecksum:
        class: MyCompany\MyBundle2\Services\Registerchecksum

    ipad.download_history:
        class: Your Service
        arguments: ["@ipad.registerchecksum"]

似乎是神秘的一天。确认您已将服务添加到正确的services.yml文件中,并仔细检查拼写。这似乎是一个神秘的日子。验证您是否已将服务添加到正确的services.yml文件中,并仔细检查拼写。哇,这太好了!所以,我必须在同一个services.yml文件中注册这两个服务。。。好啊PS:“rm-rf应用程序/cache/*”已经是我使用的了@Paolito75不要求依赖项位于同一文件中。只要你对这种方法很在行,那就好了。但是你还有其他事情要做。@Cerad是的,你是对的,我想知道这是否是APC缓存或类似的问题?问题是我无法访问它来检查:(哇,这是工作!所以,我必须在同一个services.yml文件中注册这两个服务…ok.PS:“rm-rf app/cache/*”已经是我用过的了!@Paolito75实际上不要求依赖项在同一个文件中。只要你对这种方法很在行,那么就可以了。但是你还有其他事情要做。@Cerad是的,你是对的,我想知道这是否是APC缓存或类似的问题?问题是我无法访问它来检查:(