Laravel v3.2.13-5 刀片模板不起作用
Posted
技术标签:
【中文标题】Laravel v3.2.13-5 刀片模板不起作用【英文标题】:Laravel v3.2.13-5 blade templating doesn't work 【发布时间】:2013-02-03 23:39:10 【问题描述】:我是 laravel 的新手,但我发现了一些很奇怪的东西。
在我的刀片模板中我写道:
@if( $appModule == 'someting' )
Something
@elseif($appModule == 'somethingelse')
SomethingElse
@else
Nothing
@endif
运行时出现错误:
未处理的异常
消息:
错误渲染视图:[布局]
语法错误,意外'?' 地点:
...\storage\views/a5d6961979ebea7e1177c3836de35dd8 在第 41 行
我打开“a5d6961979ebea7e1177c3836de35dd8”发现了这个:
<?php if( $appModule == 'someting' ) Something <?php else: ?>if($appModule == 'somethingelse'): ?> SomethingElse <?php else: ?> Nothing <?php endif; ?>
【问题讨论】:
【参考方案1】:“a5d6961979ebea7e1177c3836de35dd8
”文件只是您的视图文件的刀片渲染 PHP 版本。错误本身在您的视图文件中。
我注意到你输入了:
@if( $appModule == 'someting' )
应该是这样的
@if( $appModule == 'something' )
【讨论】:
错误在这里:“if” 我不明白为什么刀片编译不正确... 是的 - 我注意到了 - 也许它是由您认为其他地方的代码引起的。如果您对 IF 语句有看法,会发生什么?它编译正确吗? 我刚刚尝试过,我注意到如果我只有 \@if \@endif 一切正常,但如果我有 \@if \@elseif \@endif 则会导致错误!跨度> 听起来像一个错误 - 也许尝试早期版本的 laravel - 3.2.5 或其他东西...... 与视图和 \@if \@elseif 语句非常相似,只有在使用 _('string.tranlsation') 的翻译时才会发生在我身上。你找到解决办法了吗?【参考方案2】:尝试将文件layout.blade.php
转换(或创建新)为以下格式/编码:UNIX/ANSI
【讨论】:
以上是关于Laravel v3.2.13-5 刀片模板不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 刀片模板不起作用 - 调用未定义的函数 Illuminate\View\Compilers\token_get_all()