danmatthews / laraveltwigview
该软件包已被放弃,不再维护。未建议替代软件包。
无缝集成Laravel 4的twig视图引擎
2.0
2015-11-15 17:55 UTC
Requires
- php: >=5.3.0
- laravel/framework: 4.*
- twig/twig: 2.*
README
允许您将Twig解析添加到Laravel 4,我因为许多原因更倾向于使用twig而不是blade,现在您也可以使用了。
该软件包提供
- 所有 Twig 模板,包括继承。
- 自动模板缓存。
url()
和asset()
辅助方法,用于快速路由资源和链接。- 一套完整的表单辅助工具。
- 一个
call()
方法,允许您在模板内调用任何Laravel 4静态方法(请明智使用!)。
安装
要安装它,只需将软件包添加到您的composer.json文件中即可
{ "require": { "danmatthews/laraveltwigview": "*" } }
然后运行
php composer.phar update
然后将此行添加到app/config/app.php
中的providers
列表中
'providers' => array( 'Danmatthews\LaravelTwigview\LaravelTwigviewServiceProvider',
然后这就完成了!享受吧。
快速辅助工具
其中还包括两个实用的辅助函数
// Get a URL to a route. {{ url('route/id') }} // Get the URL to an asset file (works relative to the public directory). {{ asset('assets/style.css') }}
表单辅助工具
有关这些工具如何工作的详细信息,请参阅表单 & HTML文档。
{{ formOpen() }} {# Laravel Form::open() function #} {{ formClose() }} {# Laravel Form::close() function #} {{ formText() }} {# Laravel Form::text() function #} {{ formToken() }} {# Laravel Form::token() function #} {{ formLabel() }} {# Laravel Form::label() function #} {{ formPassword() }} {# Laravel Form::password() function #} {{ formFile() }} {# Laravel Form::file() function #} {{ formSelect() }} {# Laravel Form::select() function #} {{ formSubmit() }} {# Laravel Form::submit() function #} {{ formHidden() }} {# Laravel Form::hidden() function #}
call()
函数。
这允许您通过模板调用任何静态方法或Laravel的任何Facade,并返回结果。请谨慎使用!
传递给call()
函数的第一个参数是类名和方法名,例如URL::to
或Form::hidden
。
传递给函数的任何其他参数都将传递给被调用的方法。
{# Call the Laravel Cache::has function to check for a value. #} {% if (call('Cache::has', 'my.key')) %} Put the cached values here. {% else %} Tell them that there's nothing stored. {% endif %}
验证错误
Laravel有一个很好的功能,它始终将$errors
变量传递到所有视图中。然而,它假设您正在使用Blade语法,因此您可以执行如下操作
{{ $errors->first('email') }}
但是,由于twig不能调用方法,因此此软件包将Laravel错误转换成更有用的形式,其中{{ errors }}
仍然是一个数组,但您可以执行如下操作
{# Errors array - printing this directly will throw an exception #} {{ errors }} {# Get a list of the errors for the email field #} {% for error in errors.email %} {{ error }} {% endfor %} {# Get a list of all the errors returned, by field #} {% for error in errors %} {# Print the first error for this field #} {% for fieldError in error %} {{ fieldError }} {% endfor %} {# Loop through all the errors for this field #} {% endfor %}