aidid / ci_blade

该包最新版本(v1)没有提供许可证信息。

Codeigniter 3 的 Blade 视图

v1 2023-04-25 03:58 UTC

This package is auto-updated.

Last update: 2024-09-25 07:59:46 UTC


README

此功能可以在 Codeinteger 中渲染 .blade.php,并将字符串转换为 blade 模板系统。

  • 此库遵循 HMVC
  • 它有预定义的缓存,以便快速渲染文件
  • 它支持

    注释、echo、forelse、empty、includes、布局、section_start、section_end、section、sectionend、extends、yields、yield_sections、extensions、else、unless、endunless、endforelse、结构开始、结构结束

安装

composer require aidid/ci_blade

初始化

use \Aidid\BladeView\BladeView;
	public $bladeview;
	public function __construct() {
		parent::__construct();
		$this->bladeview = new BladeView();
	}

方法

$this->bladeview->set('name', 'Jhon')
				->set('car_array', array("BMW", "FORD", "Mazda"))
				->append('car_array', "Volvo")
				->set_data(array('age' => 22, 'gender' => 'male'))
				->render('test', array('message' => 'Hello World!'));

渲染 *blade.php

$data = array(
	"foo" => "Hello",
	"bar" => "World",
);
$this->bladeview->render("test", $data);  //File extension *blade.php

渲染字符串

$string = "{{\$foo}} {{\$bar}}";
$data = array(
	"foo" => "<b>Hello</b>",
	"bar" => "World",
);
$this->bladeview->render($string, $data, false); //3rd parameter false is important

制作 blade 模板

<div>
    @include('template-example/header')
</div>
<div>
    @yield('content')
</div>
<div>
    @include('template-example/footer')
</div>
@extends('template-example/baseview')
@section('content')
    i am the home page
@endsection

您还可以将 blade 输出保存在变量中

$View_blade_output=$this->bladeview->render("test", $data,true,true);
$String_blade_output=$this->bladeview->render($string, $data,flase,true);

示例

use \Aidid\BladeView\BladeView;

class Example extends CI_Controller {
	public $bladeview;
	public function __construct() {
		parent::__construct();
		$this->bladeview = new BladeView();
	}

	public function index() {
		$this->bladeview->render('templated-view'); //check file under view folder
	}

	public function viewWithVariable() {
		$foo = "Foo";
		$bar = "Bar";
		$this->bladeview->render('view-with-variable', compact('foo', 'bar'));
	}

	public function directRender() {
		$string = "{{\$foo}} {{\$bar}}";
		$data = array(
			"foo" => "<b>Hello</b>",
			"bar" => "World",
		);
		$this->bladeview->render($string, $data, false); //3rd parameter false is important
	}
}

查看这个 控制器 以更好地理解 BladeView 的功能。查看 视图文件夹 以更好地理解视图结构。

有关更多详细信息,请参阅 Laravel Blade 文档。