kiryi/viewyi

原生PHP视图引擎,适用于Web应用程序。

1.1.2 2020-06-12 01:22 UTC

This package is auto-updated.

Last update: 2024-09-12 12:00:38 UTC


README

一个原生PHP视图引擎,适用于Web应用程序。

安装

composer require kiryi/viewyi

使用方法

首先以三种可能的方式之一初始化引擎。有关更多信息,请参阅初始化。然后按照以下说明使用提供的函数。还要按照模板部分中的说明构建模板。

构造函数定义

__construct($config)

参数

config
可选的配置数组或指向自定义配置INI文件的文件路径。如果没有提供任何内容,则使用默认的(config/viewyi.ini)(更多信息)。

方法定义 assign

assign(string $key, $value): void

将变量分配给视图的数据对象。

参数

key
变量的键。

value
变量的值。可以是字符串、任何数字、数组、布尔值或null。

方法定义 render

render(string $template): string

渲染当前视图(HTML页面)。必须在调用display之前调用。

参数

template
用作渲染基础的模板名称。

返回值

返回完全渲染的视图。

方法定义 reset

reset(): string

重置视图的数据对象和视图对象。这有助于处理大型页面,尤其是在嵌套模板的情况下。

返回值

返回当前完全渲染的视图。

方法定义 display

display(string $headTemplate, string $title): void

最后显示整个HTML页面。必须在至少调用一次render之后。渲染的视图始终嵌入到页面的HTML body元素中。display只能调用一次。

参数

headTemplate
要嵌入到HTML页面head元素的模板名称。

title
将当前页面的标题设置为HTML页面的标题元素。

初始化

您必须提供至少三个强制参数以及一个可选的第四个参数。

baseUrl
Web应用程序的基本URL。

imagePath
相对于您的base URL的图像目录路径。

templateDirectory
相对于您的项目根目录的模板目录路径。

templateFileExtension (可选)
模板文件的可选文件扩展名,如果您想使用除默认.php以外的其他文件扩展名。

可以通过使用以下内容的标准配置文件{PROJECTSROOTDIRECTORY}/config/viewyi.ini来提供这些参数

[viewyi]
baseUrl = {YOURBASEURL}
imagePath = {YOURIMAGEDIRECTORYPATH}
templateDirectory = {YOURTEMPLATEDIRECTORYPATH}
templateFileExtension = {YOURFILEEXTENSION}

或通过将具有相同内容的另一个INI文件路径传递给引擎的构造函数

$viewyi = new \Kiryi\Viewyi\Engine('{YOURCUSTOMFILEPATH}');

或通过将具有三个到四个参数的数组传递给构造函数

$viewyi = new \Kiryi\Viewyi\Engine([
    'baseUrl' => '{YOURBASEURL}',
    'imagePath' => '{YOURIMAGEDIRECTORYPATH}',
    'templateDirectory' => '{YOURTEMPLATEDIRECTORYPATH}',
    'templateFileExtension' => '{YOURFILEEXTENSION}',
]);

模板

  • 使用原生PHP模板。
  • 因此,您可以使用任何PHP替代语法控制结构。
  • 通过编写<?=$d->{YOURVARIABLEKEY}?>打印您已分配的任何数据。
  • 通过编写<a href='<?=$a>{YOURLINKRELATIVETOBASEURL}'>{LINKTEXT}</a>使用您的base URL构建链接。
  • 通过编写<img src='<?=$i?>{YOURIMAGEINYOURIMAGEDIRECTORY}' />包含图像。

示例

configuration/config.ini

[viewyi]
baseUrl = https://viewyi-example.com
imagePath = img
templateDirectory = src/View
templateFileExtension = .tpl.php

src/View/head.tpl.php

<link rel='stylesheet' href='<?=$a?>css/style.min.css' />
<link rel='shortcut icon' href='<?=$i?>favicon.png' />

src/View/home.tpl.php

<img src='<?=$i?>logo.png' />
<h1><?=$d->headline?></h1>
<?php foreach($d->paragraphs as $paragraph): ?>
<p><?=$paragraph?></p>
<?php endforeach; ?>

src/Controller/HomeController.php

$viewyi = new \Kiryi\Viewyi\Engine('configuration/config.ini');
$viewyi->assign('headline', 'Welcome To My Page');
$viewyi->assign('paragraphs', [
    'I want to show you the VIEWYI View Engine.',
    'It is very easy to use.',
    'Just follow this example.',
]);
$viewyi->render('home');
$viewyi->display('head', 'Welcome');

将生成HTML5页面

<!DOCTYPE html>
<html>
<head>
<link rel='stylesheet' href='https://viewyi-example.com/css/style.min.css' />
<link rel='shortcut icon' href='https://viewyi-example.com/img/favicon.png' />
<title>Welcome</title>
</head>
<body>
<img src='https://viewyi-example.com/img/logo.png' />
<h1>Welcome To My Page</h1>
<p>I want to show you the VIEWYI View Engine.</p>
<p>It is very easy to use.</p>
<p>Just follow this example.</p>
</body>
</html>