称为blade的模板引擎可以与codeigniter或纯php一起使用?我知道它可以与laravel一起使用,我想知道是否也可以与任何其他php框架或纯php使用
Blade
可以在PHP中独立使用。
这意味着您可以轻松地在CodeIgniter中使用它。
https://github.com/PhiloNL/Laravel-Blade然后,您将需要composer
。
或者你可以使用这个CodeIgniter库来模拟Blade:
它的工作原理很像刀锋,它是直接为CodeIgniter设计的!
作为另一个帖子的记录和回答:
我测试了许多库在Laravel之外运行blade(我不使用),大多数(所有程序员的尊重)都是原始库的糟糕hack,只是复制和粘贴代码并删除了一些依赖项,但是它保留了Laravel的许多依赖项。
我为blade创建了一个替代方案,它是免费的(MIT许可证,即闭源/私有代码是OK的),在单个文件中,不依赖于外部库。你可以下载类并开始使用它,或者你可以通过composer安装(composer需要eftec/bladeone)。所以即使是作曲家也是可选的。
https://github.com/EFTEC/BladeOne https://packagist.org/packages/eftec/bladeone它100%兼容没有Laravel自己的功能(扩展)
您可以使用BladeView库进行CI。注意:我移植了这个库
class Welcome extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->library("bladeview");
}
public function renderView(){
$data=array(
"name"=>"Jhon",
"age"=>21
);
$this->bladeview->render("test", $data);
}
public function renderString(){
$data=array(
"name"=>"Jhon",
"age"=>21
);
$string="Hello I'm '{{$name}}. My age is '{{$age}}";
$this->bladeview->render($string, $data,false);
}
}
然后在view.blade.php中你可以像在laravel blade中那样渲染。
Hello my name is {{$name}}. My Age is {{$age}}.
输出:Hello my name is Jhon. My Age is 21.
我在这里做了一个完整的书写:http://mstd.eu/index.php/2017/03/02/using-the-laravel-blade-templating-engine-in-codeigniter-3/
基本上,包含包与composer(你需要设置CI使用composer),然后创建一个刀片实例传递给它你的视图和缓存文件夹,像这样:
$blade = new BladeInstance(__DIR__ . "/../views", __DIR__ . "/../cache/views");
echo $blade->render("index");