12.3.4 模板视图和视图助手
视图助手(View Helper)模式提供了一个助手类,可以辅助完成更多的任务。
一个简单的视图助手类,该类访问一个 Request 对象:
class VH {
static function getRequest() {
return RequestRegistry::getRequest();
}
}
下面是一个使用了视图助手和 Request 对象的简单视图:
<?php
require_once 'ViewHelper.php';
$request = VH::getRequest();
$venue = $request->getObject('Venue');
?>
<!DOCTYPE html>
<html>
<head>
<title>Add a Space for venue <?php echo $venue->getName()?></title>
</head>
<body>
<h1>Add a Space for venue <?php echo $venue->getName()?></h1>
<table><tr><td><?php echo $request->getFeedbackString("</td></tr><tr><td>") ?></td></tr></table>
<form method="post">
<input type="text" name="space_name" value="<?php echo $request->getProperty('space_name') ?>">
<input type="hidden" name="venue_id" value="<?php echo $venue->getId() ?>">
<input type="submit" name="submit">
</form>
</body>
</html>
视图文件(add_space.php)通过视图助手得到一个Request对象,并使用该对象中的方法来得到动态数据,然后将数据传递给视图页面。