trupedia / laravel-blade-haml
通过Blade语法风格简化在Laravel 5中使用MtHaml的包装
此包的官方仓库似乎已删除,因此包已被冻结。
Requires
- php: >=5.3.0
- illuminate/support: >=5.0
- illuminate/view: >=5.0
- mthaml/mthaml: ~1.3
This package is not auto-updated.
Last update: 2024-01-20 13:31:40 UTC
README
一个小的包,通过MtHaml支持将Blade风格的Haml模板编译到Laravel 5。
安装
-
将其添加到composer.json文件中(
"trupedia/laravel-blade-haml": "~1.0")并执行composer install。 -
将服务提供者添加到app.php配置文件中的providers
'trupedia\LaravelBladeHaml\LaravelBladeHamlServiceProvider',
配置
您可以手动设置MtHaml的环境、选项和过滤器。为此,使用php artisan vendor:publish发布配置文件,并在/config/blade-haml.php中进行编辑。例如,要关闭自动转义
'mthaml' => array(
'environment' => 'php',
'options' => array(
'enable_escaper' => false,
),
'filters' => array(),
),
使用
Laravel-Blade-Haml将".haml.php"扩展名注册到Laravel中,并将编译请求转发到MtHaml。它以与Blade模板相同的方式编译您的Haml模板;编译后的模板将放在app/storage/views中。因此,您不必在每次页面加载时都忍受编译时间。
换句话说,只需将您的Haml文件放在常规resources/views目录中,并命名为"resources/views/home/whatever.haml.php"。您可以在Laravel中像平常一样引用它们:view('home.whatever')。
Haml视图文件可以与常规PHP视图并行工作。
示例登录视图的Blade语法
@extends('layouts.master')
@section('content')
<div class="row">
<div class="col-md-4 col-md-offset-4">
@include('layouts.partials.errors')
<h1>Sign In!</h1>
{!! Form::open(['route' => 'login']) !!}
<div class="form-group">
{!! Form::label('email', 'E-Mail:') !!}
{!! Form::text('email', null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('password', 'Password:') !!}
{!! Form::password('password', ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::submit('Sign In', ['class' => 'btn btn-primary']) !!}
</div>
{!! Form::close() !!}
</div>
</div>
@stop
现在通过Laravel-Blade-Haml变成
@extends('layouts.master')
@section('content')
.row
.col-md-4.col-md-offset-4
@include('layouts.partials.errors')
%h1 Sign In!
{!! Form::open(['route' => 'login']) !!}
.form-group
{!! Form::label('email', 'E-Mail:') !!}
{!! Form::text('email', null, ['class' => 'form-control']) !!}
.form-group
{!! Form::label('password', 'Password:') !!}
{!! Form::password('password', ['class' => 'form-control']) !!}
.form-group
{!! Form::submit('Sign In', ['class' => 'btn btn-primary']) !!}
{!! Form::close() !!}
@stop
非常整洁,不是吗?所有好的Blade功能仍然可用于新的模板文件中。
贡献 + 信用
感谢Robert Reinhard提供初始源代码。
发行说明
- 1.0 - 初始版本