我可以在Laravel之外使用Blades模板引擎吗?
2022-08-30 21:58:56
我想创建一个设计模式并使用“刀片模板引擎”。我可以在Laravel之外使用Blades模板引擎并在我的新模式中使用它吗?
我想创建一个设计模式并使用“刀片模板引擎”。我可以在Laravel之外使用Blades模板引擎并在我的新模式中使用它吗?
记录在案:
我测试了许多库来在Laravel之外运行刀片(我不使用),大多数都是原始库的糟糕黑客,这些库只是简单地复制和粘贴代码并删除了一些依赖项,但它保留了Laravel的许多依赖项。
因此,我(为一个项目)为刀片创建了一个替代方案,它在单个文件中是免费的(MIT许可证,即关闭源代码/私有代码是可以的),并且没有外部库的单一依赖项。您可以下载该类并开始使用它,也可以通过 composer 进行安装。
https://github.com/EFTEC/BladeOne
https://packagist.org/packages/eftec/bladeone
它是100%兼容的,没有Laravel自己的功能(扩展)。
它是如何工作的:
<?php
include "lib/BladeOne/BladeOne.php";
use eftec\bladeone;
$views = __DIR__ . '/views'; // folder where is located the templates
$compiledFolder = __DIR__ . '/compiled';
$blade=new bladeone\BladeOne($views,$compiledFolder);
echo $blade->run("Test.hello", ["name" => "hola mundo"]);
?>
另一种选择是使用树枝,但我测试了它,我不喜欢它。我喜欢Laravel的语法,它接近 ASP.NET MVC Razor。
编辑:到目前为止(2018年7月),它几乎是唯一一个支持Blade 5.6新功能而没有Laravel的模板系统。;-)
你当然可以,packagist上有很多独立的刀片选项,只要你对作曲家感到满意,那么应该没有问题,这个看起来很有趣,因为与下载相比,星星的比例非常高。
请注意,虽然我自己没有尝试过,但就像你一样,我正在为我自己的项目寻找一个独立的选项,并遇到了它,我会给它一个非常好的锻炼,尽管在不久的将来的某个时候,