3

私の Symfony2 config.yml ファイルで、別の yml ファイルに集めたいいくつかの構成をインポートしたいと思います。

私が使用した:

imports:
- { resource: parameters.yml }
- { resource: sso_accounts.yml }

そして、私の sso_accounts.yml ファイルには、基本的に次のものがあります。

sso_accounts:
  company:
    publickey:  publickey
    secret:     privatekey
    users:      [ user1@email.com, user2@email.com ]

しかし(常にしかし...があります)私はこのエラーを受け取りました:

Whoops, looks like something went wrong.

2/2 FileLoaderLoadException: Cannot import resource "/Users/mycomp/Sites/myapp/app/config/sso_accounts.yml" from "/Users/mycomp/Sites/myapp/app/config/config.yml".

1/2 InvalidArgumentException: There is no extension able to load the configuration for "sso_accounts" (in /Users/mycomp/Sites/myapp/app/config/sso_accounts.yml). Looked for namespace "sso_accounts", found "framework", "security", "twig", "monolog", "swiftmailer", "doctrine", "assetic", "sensio_framework_extra", "jms_security_extra", "problematic_acl_manager", "twig_js", "fos_js_routing"

インポートの何が問題になっていますか?

4

4 に答える 4

4

config.yml からの構成は、拡張機能によって読み込まれます。sso_accounts 用のアカウントはありますか? していないようです。

ここでどのように機能するかを読むことができます: http://symfony.com/doc/current/cookbook/bundles/extension.html

于 2012-04-19T09:32:54.360 に答える
3

上記の答えがうまくいかない場合は、これを試してください(Symfony 2.3.4):

imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: @FolderYourBundleName/Resources/config/config.yml }

構成ファイルは、src/Folder/YourBundleName/Resources/config/config.yml に配置する必要があります。

私はSmyfony2にかなり慣れていないので、これが良いアプローチであるかどうかはわかりません.

于 2014-01-13T20:58:26.307 に答える
3

バンドルを使用しない場合 (したがって、登録されておらず、@MyBundleName/Resources からアクセスできない場合)、次のこともできます。

//config.yml

- { resource: '../../src/Some/Where/Configuration/settings.yml' }

于 2014-07-30T08:38:08.063 に答える
0

OPへの直接の答えではありません。ただし、バンドル内の構成を管理するのに役立つ別の簡単なオプションを次に示します。

namespace Acme\DemoBundle\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 AcmeDemoExtension extends Extension
{
    /**
     * {@inheritDoc}
     */
    public function load(array $configs, ContainerBuilder $container)
    {
        $configuration = new Configuration();
        $this->processConfiguration($configuration, $configs);

        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
        $loader->load('services.yml');
        $loader->load('otherstuff.yml');
        $loader->load('stillotherstuff.yml');
    }
}
于 2014-11-06T22:11:20.950 に答える