叶片模板引擎可以与codeigniter一起使用


The blade template engine can be used with codeigniter?

称为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");