首页 > 后端开发 > php教程 > Symfony2 Demo配置失败

Symfony2 Demo配置失败

WBOY
发布: 2016-06-06 20:50:00
原创
917 人浏览过

我想添加一个页面,访问链接为/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语法不对,看看是不是缩进或者敲了非英文的空格之类的问题。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板