我想添加一个页面,访问链接为/hello
配置步骤如下:
1.在app/AppKernel.php文件中加入代码:
<code class="lang-php">public function registerBundles() { $bundles[] = new Acme\HelloBundle\AcmeHelloBundle(); return $bundles; } </code>
2.app/config/routing.yml
<code class="lang-yml">acme_hello: resource: "@AcmeHelloBundle/Resources/config/routing.yml" prefix: / </code>
3.src/Acme/HelloBundle/Resources/config/routing.yml
<code class="lang-yml">hello: pattern: /hello/{name} defaults: { _controller: AcmeHelloBundle:Hello:index } </code>
4.src/Acme/HelloBundle/Controller/HelloController.php
<code class="lang-php">namespace Acme\HelloBundle\Controller; use Symfony\Component\HttpFoundation\Response; class HelloController { public function indexAction() { return new Response("Hello World"); } } </code>
我几乎按照文档的步骤来做了,但还是出现了一些问题:
<code>Cannot import resource "D:/xampp/htdocs/Symfony/app/config\routing.yml" from "D:/xampp/htdocs/Symfony/app/config/routing_dev.yml". (Unable to parse at line 2 (near "resource:"@AcmeHelloBundle/Resources/config/routing.yml"").) </code>
文档上写到执行一个命令行可以创建一个新的bundle,并在src/Acme目录下生成新的bundle目录,我的执行如下:
<code>D:\xampp\php>php d:\xampp\htdocs\Symfony\app\console --namespace=Acme/HelloBundle --format=yml </code>
不见有任何效果,所以就自己手动创建了
我想添加一个页面,访问链接为/hello
配置步骤如下:
1.在app/AppKernel.php文件中加入代码:
<code class="lang-php">public function registerBundles() { $bundles[] = new Acme\HelloBundle\AcmeHelloBundle(); return $bundles; } </code>
2.app/config/routing.yml
<code class="lang-yml">acme_hello: resource: "@AcmeHelloBundle/Resources/config/routing.yml" prefix: / </code>
3.src/Acme/HelloBundle/Resources/config/routing.yml
<code class="lang-yml">hello: pattern: /hello/{name} defaults: { _controller: AcmeHelloBundle:Hello:index } </code>
4.src/Acme/HelloBundle/Controller/HelloController.php
<code class="lang-php">namespace Acme\HelloBundle\Controller; use Symfony\Component\HttpFoundation\Response; class HelloController { public function indexAction() { return new Response("Hello World"); } } </code>
我几乎按照文档的步骤来做了,但还是出现了一些问题:
<code>Cannot import resource "D:/xampp/htdocs/Symfony/app/config\routing.yml" from "D:/xampp/htdocs/Symfony/app/config/routing_dev.yml". (Unable to parse at line 2 (near "resource:"@AcmeHelloBundle/Resources/config/routing.yml"").) </code>
文档上写到执行一个命令行可以创建一个新的bundle,并在src/Acme目录下生成新的bundle目录,我的执行如下:
<code>D:\xampp\php>php d:\xampp\htdocs\Symfony\app\console --namespace=Acme/HelloBundle --format=yml </code>
不见有任何效果,所以就自己手动创建了
我曾经遇到过因为用tab导致yml解析错误的问题。第一个问题应该是文件格式不对。 第二个问题你光加namespace没用的。console里应该是create:bundle命令后面带namespace和format才好用。
从错误信息判断,应该是@AcmeHelloBundle/Resources/config/routing.yml这个文件里yaml语法不对,看看是不是缩进或者敲了非英文的空格之类的问题。