php框架 - symfony controller对应的view的问题
为情所困
为情所困 2017-05-16 16:44:18
0
3
880

我在看教学视频里

红线地方输出到前端页面,并没有说是哪个模版,视频里确实访问到了那个指定模版页面。是通过 @Route(name="page_index")这个做到的吗,但是我没看到他的前端页面有用到这个名字,我奇怪这是怎么访问到那个制定页面的?

问题2:如果在app/confing/routing里同时定义了2个路径是‘/’但是访问的控制器是不一样的,那么当我访问地址 localhost:8000会访问那个页面呢?如果想区分要怎么区分?

为情所困
为情所困

全部回复(3)
Ty80

声明@Template()后可以不用在return那写路径,会自动查找,比如跟楼上说的,defaultController的indexaction就是Resources/views/Default/index.html.twig路径

小葫芦

我用过1.2的版本, 很老的了, 用那个版本的经验告诉你一下:
制定模版不是通过route的, route只是控制你访问的是哪个controller的哪个action, 具体定义哪个模板则是在controller中的, 虽然上面的代码中没有定义木板的方法 ,但他会有一个默认的view的, 1.2中的是actionnameSuccess.php文件,你奇怪他是在怎么访问的问题需要看源码, 会有默认的实现。
问题2中的的routing中同时定义了两个/, 他会从上向下查找, 一旦请求的url满足了某个规则, 则直接跳转到对应的controller, 相同routing规则的第二个配置就找不到了, 所以你的第二个/并没有什么卵用,localhost:8000 默认会指向default的controller和action, 在routing的最后会有这个默认配置, 但你这个/配置是否会影响, 你得看的配置是怎么配的了,有可能你的这个配置满足了默认页面的请求url规则, 会跳转到你的/对应的controller的action, 也有可能并不满足, 依旧走默认的controller的action。

注意,我说的都是基于1.2的版本, 仅供参考

洪涛

默认模板放在 Resources/views/{your controller name}/{your action name}.html.twig

比如:

DefaultController 的 indexAction

默认模板在

Resources/views/Default/index.html.twig

注意 Linux 下区分大小写。
也可以指定路径, annotation: @Template("your/view/path")

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板