anax / view
Anax 视图模块,收集和渲染视图。
Requires
- php: ^7.2
- anax/commons: ^2.0.0@alpha
Requires (Dev)
- anax/configure: ^2.0.0@alpha
- anax/di: ^2.0.0@alpha
- phpunit/phpunit: ^7
- dev-master
- v2.0.18
- v2.0.16
- v2.0.15
- v2.0.14
- v2.0.13
- v2.0.12
- v2.0.11
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v2.0.0-beta.14
- v2.0.0-beta.13
- v2.0.0-beta.12
- v2.0.0-beta.11
- v2.0.0-beta.10
- v2.0.0-beta.9
- v2.0.0-beta.8
- v2.0.0-beta.7
- v2.0.0-beta.6
- v2.0.0-beta.5
- v2.0.0-beta.4
- v2.0.0-beta.3
- v2.0.0-beta.2
- v2.0.0-beta.1
- v2.0.0-alpha.8
- v2.0.0-alpha.7
- v2.0.0-alpha.6
- v2.0.0-alpha.5
- v2.0.0-alpha.4
- v2.0.0-alpha.3
- v2.0.0-alpha.2
- v2.0.0-alpha.1
- v1.0.26
- v1.0.25
- v1.0.24
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.20
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
This package is auto-updated.
Last update: 2024-09-07 16:10:51 UTC
README
Anax 视图模块为 Anax 网站提供视图结构。
关于视图、术语和结构
视图,也称为模板文件,是纯 PHP 文件,其目的是将内容渲染到 HTML 结构上以创建网页。
工作原理如下
- 网页内容被收集为视图集合。
- 视图集合在路由回调和控制器中创建。
- 视图是变量(内容)的组合,通常称为
$data
,它被提供给模板文件,执行并渲染数据到 HTML 结构。 - 每个视图是网页上的一个小部分 HTML 和内容,并在网页上渲染。
您可以在目录 view/anax/v2
中查看视图的示例。
视图在布局中渲染
视图通过结构化布局以有序方式渲染。这个布局本身也是一个视图(模板文件和数据),它只是渲染更多视图的视图。
您可以在 view/anax/v2/layout
中查看布局视图的示例。
上面的布局视图将网页的每个部分组织为区域。每个视图在区域中渲染。
此代码显示了如何在布局文件中设置一般区域,以及如何渲染属于此区域的视图。
<!-- flash --> <?php if (regionHasContent("flash")) : ?> <div class="outer-wrap outer-wrap-flash"> <div class="inner-wrap inner-wrap-flash"> <div class="row"> <div class="region-flash"> <?php renderRegion("flash") ?> </div> </div> </div> </div> <?php endif; ?>
当您将视图添加到集合中时,您可以可选地添加一个区域和一个排序值。这决定了视图渲染的位置(区域)和顺序。
视图的模板文件
模板文件是一个普通的 PHP 文件。这里是模板文件 anax/v2/article/default
。
<?php namespace Anax\View; /** * Render content within an article. */ // Show incoming variables and view helper functions //echo showEnvironment(get_defined_vars(), get_defined_functions()); // Prepare classes $classes[] = "article"; if (isset($class)) { $classes[] = $class; } ?><article <?= classList($classes) ?>> <?= $content ?> </article>
命名空间使得可以访问内置视图辅助函数的列表,例如用于转义输出或创建框架或资产的 URL 的辅助函数。
namespace Anax\View;
注释部分可以取消注释以进行调试,以查看可用的辅助函数和变量。
// Show incoming variables and view helper functions //echo showEnvironment(get_defined_vars(), get_defined_functions());
然后,通过传入变量进一步准备内容。
// Prepare classes $classes[] = "article"; if (isset($class)) { $classes[] = $class; }
然后最终渲染输出。
<article <?= classList($classes) ?>> <?= $content ?> </article>
这就是模板文件的一般流程。
视图辅助函数
文件 View/ViewHelperFunctions
包含辅助函数,这些函数简化了模板文件中的工作。
这里有一些基本辅助函数。
查看辅助文件以获取详细信息。
愚蠢的视图或肥胖的视图
视图可以是“愚蠢的”,只从框架接收输入,并用 HTML 代码渲染它。
视图也可以是“肥胖的”,或者说可能不是那么“聪明”,并回调到框架。
一般建议使用愚蠢的视图,不要回调到框架。
视图类型
视图通常可以渲染任何类型的输出,而不仅限于 HTML。
许可证
此软件携带 MIT 许可证。有关详细信息,请参阅 LICENSE.txt。
.
..: Copyright (c) 2013 - 2019 Mikael Roos, mos@dbwebb.se