nueve/view-presenter
视图辅助系统
0.2.0
2017-12-27 17:23 UTC
Requires
- php: ^7.0
Requires (Dev)
- phpunit/phpunit: ^4.8.0
This package is not auto-updated.
Last update: 2024-09-14 18:26:11 UTC
README
安装
建议使用Composer来安装ViewPresenter。
composer require nueve/view-presenter
用法
初始化
$viewParser = new Nueve\ViewPresenter\PhpParser('template_directory_path'); $presentable = new Nueve\ViewParser\Presentable(); $view = new Nueve\ViewPresenter\View($viewParser, $presentable);
现在让我们创建一个ViewPresenter。
<?php class SitePresenter implements \Nueve\ViewPresenter\PresenterInterface { public function data() { return [ 'site_name' => 'Test Site', 'site_description' => 'This is a test site to show how this works.' ]; } }
现在我们可以通过设置它应该渲染哪个模板来使用它。
$view->presenter('home', new SitePresenter());
现在当渲染我们的主页模板时,演示者的数据将可用。
$view->render('home.php', [ 'developer' => 'Some Person' ]);
现在我们可以在home.php视图文件中访问SitePresenter的所有属性。
<header> <h1><?=$site_name?></h1> <h2><?=$site_description?></h2> </header> <p>Hi <?=$developer?></p>
解析器
默认情况下,只提供了一个解析器,即PHP解析器。如果您想添加另一个解析器,您需要实现ParserInterface。
视图
Nueve\ViewPresenter\View
类接受三个参数,第一个是ParserInterface
,第二个是PresentableInterface
类,最后一个是一个配置数组
。
该数组目前只包含一个属性,即文件扩展名属性file.ext
,默认设置为.php
,如果您决定使用不同的解析器,应该更改此设置。例如,使用Twig .twig
。
视图对象的presenter
方法接受两个参数,第一个可以是字符串
或数组
,第二个应该是PresenterInterface
。
测试
要执行测试套件,您需要phpunit。
$ phpunit
致谢
许可证
ViewPresenter根据MIT许可证授权。有关更多信息,请参阅许可证文件。