jacktaken / laravel-zc-liquid
Laravel的Liquid模板引擎
0.10.08
2020-10-30 07:32 UTC
Requires
- php: >= 5.6
- laravel/framework: >=5.3
This package is not auto-updated.
Last update: 2024-09-24 19:01:36 UTC
README
Liquid是Ruby语言模板引擎Liquid(由Tobias Lutke编写)的PHP端口,尽管有其他许多PHP模板引擎,包括Liquid部分启发的Smarty,但Liquid具有一些优点,使得移植是值得的。
- 可读性强且易于理解,适用于任何类型的文档,而不仅仅是HTML,无需转义。
- 快速、易于使用和维护。
- 100%安全,没有嵌入PHP代码的可能性。
- 干净的OO设计,而不是其他模板引擎中常见的OO和过程式混合。
- 独立的编译和渲染阶段,以提高性能。
- 与Ruby模板引擎100%兼容的标记,使模板可用于任一。
- 单元测试:Liquid已完全单元测试。该库稳定,可在大项目中使用。
为什么选择Liquid?
为什么还需要另一个模板库?
Liquid是为了满足三个模板库要求而编写的:良好的性能、易于扩展和简单易用。
安装
您可以通过composer安装此库。
composer require simexis/laravel-liquid
Laravel 5.5使用包自动发现,因此不需要您手动添加ServiceProvider。
Laravel 5.5+
如果您不使用自动发现,请将ServiceProvider添加到config/app.php中的providers数组中。
Liquid\LiquidServiceProvider::class,
如果您想使用外观来编译
'Liquid' => Liquid\Facade::class,
php artisan vendor:publish --provider="Liquid\LiquidServiceProvider"
示例模板
{% if products %}
<ul id="products">
{% for product in products %}
<li>
<h2>{{ product.name }}</h2>
Only {{ product.price | price }}
{{ product.description | prettyprint | paragraph }}
{{ 'it rocks!' | paragraph }}
</li>
{% endfor %}
</ul>
{% endif %}
如何使用Liquid
class HomeController extends Comtroller {
public function index()
{
$products = Products::all();
return view('home', [
'products' => $products
]);
}
}
有关更多示例,请参阅原始Ruby实现仓库的wiki页面。
要求
- PHP 5.3+
- laravel/framework 5.3+
问题
有虫子吗?请在GitHub上创建一个问题!