canvass/canvass-paint

表单渲染库

v1.02.00 2020-12-16 18:11 UTC

This package is auto-updated.

Last update: 2024-09-17 02:25:53 UTC


README

为Canvass提供的表单渲染抽象

注意:此库应与具体实现库(如CanvassPaint\TwigCanvassPaint\Blade)配对。

安装

可以通过composer安装

composer require canvass/canvass-paint

创建不同的实现

创建一个实现\CanvassPaint\Contract\RenderFunction的实例,该实例包含一个HTML渲染库。

以下是CanvassPaint\Twig的实现

namespace CanvassPaint\Twig;

class RenderFunction implements \CanvassPaint\Contract\RenderFunction
{
    /** @var \Twig\Environment */
    private $twig;

    public function __construct(\Twig\Environment $twig)
    {
        $this->twig = $twig;
    }

    public function render($data)
    {
        return $this->twig->render(
            '/form/form.twig',
            $data
        );
    }

    public function getTwigEnvironment(): Environment
    {
        return $this->twig;
    }
}

视图

Blade和Twig库可以帮助你了解如何设置各种字段视图。

RenderFunction

然后将RenderFunction传递给RenderForm操作。

$action = new RenderForm(new RenderFunction());

$html = $action->render($form_id);