nueve/view-presenter

视图辅助系统

0.2.0 2017-12-27 17:23 UTC

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许可证授权。有关更多信息,请参阅许可证文件