我在本地使用Laravel 4和EasyPHP 14.1.我创建了一条路线:
Route::get('/test', function()
{
return View::make('test');
});
Run Code Online (Sandbox Code Playgroud)
布局(testlayout.blade.php):
<!doctype html>
<html>
<head>
<title></title>
</head>
<body>
<div class="container">
@yield('container')
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
和一个视图(test.blade.php):
@extends("testlayout")
@section('container')
<h1>Hello!</h1>
@stop
Run Code Online (Sandbox Code Playgroud)
它工作正常,我得到"你好!"
但是当通过添加这样的包含来改变我的布局时:
<!doctype html>
<html>
<head>
<title></title>
</head>
<body>
<div class="container">
@yield('container')
</div>
@include('testfooter')
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
用我的页脚(testfooter.blade.php):
@section("testfooter")
<div class="footer">2013-2014</div>
@show
Run Code Online (Sandbox Code Playgroud)
我有一个错误"语法错误,意外'/'".
Laravel生成的代码(在app\storage\views中找到)是错误的:
<!doctype html>
<html>
<head>
<title></title>
</head>
<body>
<div class="container">
<?php echo $__env->yieldContent('container')
</div>
<?php echo $__env->make('testfooter', array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>; ?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Laravel忘记;?>之后yieldContent('container')并增加了两个;?>后... render().我尝试了很多东西,但我现在真的没有任何线索.
UPDATE1我重新安装了一个新鲜的Laravel和客人什么,问题仍然是一样的.如果没有@include就可以了,使用@include我会一次又一次地出现同样的错误.
UPDATE2和PROBLEM FIXED(感谢@majimboo)!这简直令人难以置信.所有这些故事都与代码无关.这是文本编辑器的问题:Windows上的Notepad ++.由于未知原因,仅针对某些文件,它从"编辑/ EOL转换/ Windows格式"切换为"编辑/ EOL转换/ Mac格式".显然,Laravel根本不是Mac格式!因此,如果您在Windows上使用Notepad ++,请确保您具有:' EOL转换/ Windows格式 '
问题出在包含的文件中。
首先检查问题是否确实如此,删除里面的所有内容testfooter.blade.php,然后从浏览器打开视图。您会发现不再有错误了。
将您的更改testfooter.blade.php为:
<div class="footer">2013-2014</div>
Run Code Online (Sandbox Code Playgroud)
去除@section("testfooter")... @show。
例子:
<!-- app/views/header.blade.php -->
<h1>When does the Narwhal bacon?</h1>
<!-- app/views/footer.blade.php -->
<small>Information provided based on research as of 3rd May '13.</small>
Run Code Online (Sandbox Code Playgroud)
你可以像这样包含它:
<!-- app/views/example.blade.php -->
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Narwhals</title>
</head>
<body>
@include('header')
<p>Why, the Narhwal surely bacons at midnight, my good sir!</p>
@include('footer')
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
检查此内容以了解有关刀片的更多信息。
这个问题似乎是别的问题,我只是想分享一下,如果它可以帮助你:
我使用 Notepad++ 作为文本编辑器,出于某种奇怪的原因,它决定使用“MAC 格式”作为行尾 (EOL) 格式。显然 Blade 框架无法应对这一点。使用转换功能(在记事本++中:编辑 -> EOL 转换)转换为 Windows 格式,它会正常工作......
| 归档时间: |
|
| 查看次数: |
20509 次 |
| 最近记录: |