Laravel扩展了没有Blade的布局

时间:2015-02-25 06:47:29

标签: blade laravel-5

我想扩展默认布局并添加布局部分但我不想使用Blade Syntax。在phpstorm中,Blade语法会生成错误,IDE会停止自动完成,并且根本不会识别php标记(仅在我在action()中使用@符号后)。

所以我的问题是如何转换

@extends('layouts.default')
@section('content')
@stop

进入php标签。

1 个答案:

答案 0 :(得分:1)

查看Laravel的源代码(Illuminate\View\Compilers\BladeCompiler),它是:

@extends('layouts.default')

这是最棘手的部分。通常,当您使用@extends时,Laravel会将其编译为:但将其添加到最后回显的footer变量中。如果你在视图的末尾而不是在开头添加它,它也应该起作用。 (至少它在我做过的简单测试中起作用)

<?php echo $__env->make('layouts.default', array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>

@section('content')

<?php $__env->startSection('content'); ?>

@stop

<?php $__env->stopSection(); ?>

但是,如果您使用的是PhpStorm 8,则实际上支持Blade语法,并且我从未遇到过问题。 What's new in PhpStorm 8?