Laravel 4 上的刀片模板引擎语法问题
Posted
技术标签:
【中文标题】Laravel 4 上的刀片模板引擎语法问题【英文标题】:Blade templating engine syntax issues on Laravel 4 【发布时间】:2012-12-15 15:36:26 【问题描述】:我目前正在Laravel 4 的测试版上启动一个项目
当我尝试使用模板引擎时,有些标签可以工作,有些则不能。例如:
@layout('layouts.master')
@section('container')
<h1>About US</h1>
@endsection
显示为:
@layout('layouts.master')
About US
@endsection
这意味着@section
标签被解析,而另一个被称为纯文本。
另外,如果我将@layout
更改为@include
,它确实包含模板。
有没有人遇到过类似的问题?是否有任何我不知道的语法更改?
【问题讨论】:
【参考方案1】:问题的根源在于很多在线教程(youtube 和博客)仍然使用@layout 和@end 部分。这些教程通常也声称是 Laravel4 教程。
所以很多人在开始他们的第一个 Laravel4 应用程序时就掉进了这个小陷阱。
提示:我在开发时使用这个人的备忘单page(Jesse O'Brien 专有)。这就是我发现自己使用过时的刀片标签的方式。
【讨论】:
【参考方案2】:如果您在使用 Laravel 时遇到问题,或者如果您不知道 Laravel 是否内置了您需要的功能,请务必查看您使用的 Laravel 版本的文档。
当前发布版本的在线文档(撰写本文时为 4 个):http://laravel.com/docs/
和Laravel API在线深入了解源代码,并解释例如函数参数:http://laravel.com/api/
【讨论】:
【参考方案3】:@layout
在 Laravel 4 中已更改为 @extends
。另外,@endsection
已更改为 @stop
【讨论】:
@include 是否已更改或替换? documentation is pretty good. 你刚刚从 laravel 开发者那里得到了答案 :)以上是关于Laravel 4 上的刀片模板引擎语法问题的主要内容,如果未能解决你的问题,请参考以下文章
@include 之后刀片未在刀片中显示内容 - Laravel 4.2
Laravel 4刀片模板导致FatalErrorException?