kiryi / viewyi
原生PHP视图引擎,适用于Web应用程序。
Requires
- php: ^7.4
- kiryi/inyi: ^1.0
- kiryi/pathyi: ^1.0
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>