jacktaken/laravel-zc-liquid

Laravel的Liquid模板引擎

0.10.08 2020-10-30 07:32 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页面

要求

问题

有虫子吗?请在GitHub上创建一个问题!

https://github.com/jooorooo/laravel-liquid/issues