Могу ли я использовать механизм моделирования Blade за пределами Laravel?

Я хочу создать шаблон дизайна и использовать "Blade templating engine". Могу ли я использовать движок Blade templating за пределами Laravel и использовать его в своем новом шаблоне?

Ответ 1

Для записи:

Я протестировал множество библиотек для запуска blade вне Laravel (которые я не использую), и большинство из них - слабые хаки исходной библиотеки, которые просто копировали и вставляли код и удаляли некоторые зависимости, но в нем сохраняются многие зависимости Laravel.

Поэтому я создал (для проекта) альтернативу для blade-сервера, которая является бесплатной (лицензия 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 года), это практически единственная система шаблонов, которая поддерживает новые функции Blade 5.6 без Laravel. ;-)

Ответ 2

Вы, безусловно, можете, есть много отдельных вариантов лезвий на packagist, если вам комфортно с композитором, тогда не должно быть проблем, этот выглядит довольно интересно из-за наличия действительно высокого процента звезд по сравнению с загрузками.

Будьте осторожны, хотя я сам не пробовал, как вы, я искал самостоятельный вариант для своего собственного проекта и наткнулся на него, я дам ему хорошую хорошую тренировку, хотя в ближайшем будущем,

Ответ 3

Да, вы можете использовать его там, где захотите. Просто установите один из множества доступных для него композиций.

Если вам интересно интегрировать его с codeigniter, у меня есть сообщение в блоге, в котором описывается этот процесс: http://mstd.eu/index.php/2017/03/02/using-the-laravel-blade-templating-engine-in-codeigniter-3/

Следуя вышеприведенным шагам, необходимо четко указать, как включить его в любую инфраструктуру.