initphp/views

InitPHP 视图引擎

1.0 2023-01-14 07:07 UTC

This package is auto-updated.

Last update: 2024-09-14 11:08:45 UTC


README

安装

composer require initphp/views

使用

注意:在使用之前,请记住选择要使用的适配器。

$data = [
    'username'  => 'admin'
];

echo view('dashboard/dashboard', $data);

传递一个字符串数组以加载多个视图。

$data = [
    'username'  => 'admin'
];

echo view(['header', 'content', 'footer'], $data);

$data可以是关联数组或对象。

$data = new stdClass;
$data->username = 'admin';

echo view('dashboard/profile', $data);

适配器

纯PHP适配器

use \InitPHP\Views\Facade\View;
use \InitPHP\Views\Adapters\PurePHPAdapter;

$viewAdapter = new PurePHPAdapter(__DIR__ . '/Views/');

View::via($viewAdapter);

注意:此适配器使用.php作为视图文件的扩展名。如果视图文件不以.php结尾,它将自动添加。

注意:此适配器在运行时将视图文件包括为PHP文件。

Laravel Blade (Illuminate/View)适配器

开始使用之前,请务必安装相关包。

composer require illuminate/view

要开始使用适配器,只需生成相关适配器的实例。

use \InitPHP\Views\Facade\View;
use \InitPHP\Views\Adapters\BladeAdapter;

$viewAdapter = new BladeAdapter(__DIR__ . '/Views/', __DIR__ . '/Cache/');

View::via($viewAdapter);

注意:此适配器可能有一些独特的变化。文档

View::directive('now', function ($format = null) {
    return '<?php echo '
            . ($format === null ? 'date("Y-m-d H:i:s")' : 'date(' . $format . ')')
            . ' ?>';
});

// @now
// @now("Y-m-d")

Symfony Twig (Twig/Twig)适配器

开始使用之前,请务必安装相关包。

composer require twig/twig

要开始使用适配器,只需生成相关适配器的实例。

use \InitPHP\Views\Facade\View;
use \InitPHP\Views\Adapters\TwigAdapter;

$viewAdapter = new TwigAdapter(__DIR__ . '/Views/', __DIR__ . '/Cache/');

View::via($viewAdapter);

注意:请注意,Twig引擎接受任何文件扩展名,您必须手动指定。文档

$data = [
    'username'  => 'admin'
];

echo view('dashboard/dashboard.html', $data);

致谢

许可

版权所有 © 2022 MIT License