0

バンドルを生成するとき、TitleCase名は有効ですか?たとえば、Acme\TitleCaseBundleSymfony2では、ルートのプレフィックスが自動的に付けられacme_title_case、サービスがacme_title_case.example:あり、でAcme\TitleCaseBundle\DependencyInjection\Configuration、構成ツリーのルートノードがこのメソッドで検出されます。

<?php
// ...

public function getConfigTreeBuilder()
{
    $treeBuilder = new TreeBuilder();
    $rootNode = $treeBuilder->root('acme_title_case');
    // ...
}

あるはずacme_titlecaseです!

これらを修正しようとすると、に追加acme_titlecase: ~するapp/config/config.ymlとこのエラーがスローされます

InvalidArgumentException: There is no extension able to load the configuration for 
"acme_titlecase" (in /Users/me/Sites/MySite/app/config/config.yml).
Looked for namespace "acme_titlecase", 
found "framework", "another_namespace", ... , "acme_title_case", ...
4

2 に答える 2

0

これは有効な名前ですが、symfonyに大文字で始まる各単語を別の単語にするため、TitleCaseはTitle Caseであるため、TitlecaseBundleという名前にする必要があります。

于 2012-11-26T17:46:22.300 に答える
0

Matthias Noback による投稿のおかげで、解決策はメソッドをオーバーライドして、getAlias()好きなものを返すことです。

<?php

namespace Acme\TitleCaseBundle\DependencyInjection;

// ...

class AcmeTitleCaseExtension extends Extension
{
    // ...

    public function getAlias()
    {
        return 'acme_titlecase';
    }
}
于 2012-11-27T17:50:55.807 に答える