Я хочу создать шаблон дизайна и использовать "Blade templating engine". Могу ли я использовать движок Blade templating за пределами Laravel и использовать его в своем новом шаблоне?
Могу ли я использовать механизм моделирования Blade за пределами 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/
Следуя вышеприведенным шагам, необходимо четко указать, как включить его в любую инфраструктуру.