gpt4 book ai didi

php - laravel blade 包含错误 - 语法错误,意外

转载 作者:可可西里 更新时间:2023-11-01 13:22:49 24 4
gpt4 key购买 nike

我在本地使用 Laravel 4 和 EasyPHP 14.1。我创建了一条路线:

Route::get('/test', function()
{
return View::make('test');
});

布局(teSTLayout.blade.php):

<!doctype html>
<html>
<head>
<title></title>
</head>
<body>
<div class="container">
@yield('container')
</div>
</body>
</html>

和一个 View (test.blade.php):

@extends("testlayout")
@section('container')
<h1>Hello!</h1>
@stop

它工作正常,我收到“你好!”

但是当通过添加这样的包含更改我的布局时:

<!doctype html>
<html>
<head>
<title></title>
</head>
<body>
<div class="container">
@yield('container')
</div>
@include('testfooter')
</body>
</html>

用我的页脚(testfooter.blade.php):

@section("testfooter")
<div class="footer">2013-2014</div>
@show

我有一个错误“语法错误,意外的‘/’”。

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>

Laravel 在 yieldContent('container') 之后忘记了 ;?> 并在 ... render 之后添加了两个 ;?> ()。我已经尝试了很多东西,但我现在真的没有任何线索。

更新1我重新安装了一个新的 Laravel 和 guest what,问题还是一样。没有@include 没关系,有了@include,我一次又一次地遇到同样的错误。

UPDATE2 和问题已修复(感谢@majimboo)!这简直令人难以置信。 所有这些故事都与代码无关。这是文本编辑器的问题:Windows 上的 Notepad++。由于未知原因,并且仅针对某些文件,它从“编辑/EOL 转换/windows 格式”切换为“编辑/EOL 转换/Mac 格式”。显然,Laravel 根本没有 Mac 格式!因此,如果您在 Windows 上使用 Notepad++,请确保您拥有:'EOL conversion/windows format'

最佳答案

问题出在被包含的文件中。

首先检查问题是否真的存在,删除 testfooter.blade.php 中的所有内容,然后从浏览器打开 View 。您会注意到不再有错误。

将您的 testfooter.blade.php 更改为:

<div class="footer">2013-2014</div>

删除@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>

你把它包括在内:

<!-- 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>

检查 this了解有关 Blade 的更多信息。


问题好像是别的,我就分享一下,如果对你有帮助的话:

I'm using Notepad++ as text-editor and for some strange reason it had decided to use "MAC format" as the End-Of-Line (EOL) format. Apparently the Blade framework can't cope with that. Use the conversion function (in notepad++ : Edit -> EOL Conversion) to convert to Windows Format and it will work just fine...

Arjen

关于php - laravel blade 包含错误 - 语法错误,意外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23125662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com