尝试查看你的src / {VendorName} / {BundleName} Bundle / DependencyInjection / {VendorName} {BundleName} Extension.php
此文件应加载您的服务定义,如下所示:
namespace Vendor\{BundleName}Bundle\DependencyInjection;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\Loader;
/**
* This is the class that loads and manages your bundle configuration
*
* To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html}
*/
class Vendor{BundleName}Extension extends Extension
{
/**
* {@inheritDoc}
*/
public function load(array $configs, ContainerBuilder $container)
{
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
//Load our YAML resources
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.yml');
}
}
这会将服务定义从src / {VendorName} / {BundleName} Bundle / Resources / config / services.yml加载到容器中.如果仍然无效,请尝试执行php app / console cache:clear.出于速度原因,symfony基本上会将您的所有服务(和其他配置文件)聚合到缓存文件中,因此不必每次都读取这些文件.实际缓存服务定义的文件位于:
> app / cache / {envName} /(可以将缓存目录配置为位于您想要的任何位置,这只是默认设置).
具有容器服务定义的相关信息的文件是:
> app {EnvName} DebugProjectContainer.php> app {EnvName} DebugProjectContainer.php.meta> app {EnvName} DebugProjectContainer.xml