1

3番目のリンクのルーティングを追加するまで、単純なコントローラーを作成し、ルーティングを設定すると、すべてが機能します。その後、エラーが発生しました

リソース「C:\ xampp \ htdocs \ Symfony \ src \ Acme \ Bundle \ WebBundle / Resources / config /routing.yml」を「C:/xampp/htdocs/Symfony/app/config\routing.yml」からインポートできません。

DefaultController.php

<?php

namespace Acme\Bundle\WebBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;

class DefaultController extends Controller
{
public function indexAction()
{
    return $this->render('AcmeWebBundle:Default:index.html.twig');
}


//* find a ride *//

public function findAction()
{

    return $this->render('AcmeWebBundle:Default:find.html.twig');

}

//*book a ride *//

public function bookAction()
 {

    return $this->render('AcmeWebBundle:Default:book.html.twig');
  }
}

これはmaster.html.twig、シンプルなナビゲーションの一部です。

  ...
   <div id="left1"><a href="{{ path('acme_web_homepage') }}"><strong>Home</strong></a>
     </div>
     <div id="left2">
     </div>
     <div id="left3"><a href="{{ path('find') }}"><strong>Find a ride</strong></a>
     </div>
     <div id="left4">
     </div>
     <div id="left5"><a href="{{ path('book') }}"><strong>Book a ride</strong></a>
     </div>

routing.ymlファイル

acme_web_homepage:
    pattern:  /home
    defaults: { _controller: AcmeWebBundle:Default:index }

find:
    pattern: /find
    defaults: { _controller: AcmeWebBundle:Default:find }
book:
    pattern: /book
    defaults: { _controller: AcmeWebBundle:Default:book }

ブックパスのルートを削除すると、すべて正常に機能します。私はどこが間違っていますか?

4

4 に答える 4

4

Yamlはインデントに基づいています。のすべてのプロパティをいくつかのスペースでインデントする必要がありbookます(4つのスペースをお勧めします)。

book:
    pattern: /book
    defaults: { _controller: AcmeWebBundle:Default:book }

ドキュメントのYaml形式の詳細については。

于 2013-03-24T18:52:27.483 に答える
2

ymlファイルは4つのスペースでインデントする必要があります。

book:
    pattern: /book
    defaults: { _controller: AcmeWebBundle:Default:book }
于 2013-03-24T18:53:02.333 に答える
0

最後に、何が問題だったのかを理解します。

タブボタンを押してスペースを残しました。これがどんなに奇妙に聞こえても、@ Wouterが提案したような4つのスペースに置き換えれば、すべてが正常に機能します。

次回、ymlファイルを操作するときは、タブを忘れてください。

于 2013-03-28T17:57:23.217 に答える
0

インポート中に奇妙なSymfonyの動作に気づきました。サービスがconfig/services.yamlファイルで定義されている場合、それらは正しくロードされていますが、config / services / services.yamlで構成すると(config / services.yamlからインポートした後)、次のようなエラーが発生し始めます

サービス「App\Command *** \ XyzCommand」を自動配線できません:メソッド「__construct()」の引数「$env」はタイプヒントの「文字列」です。その
値を明示的に構成する必要があります。

于 2019-03-21T13:41:39.457 に答える