markorstc/laminas-typedview

强类型视图层,作为Laminas MVC系统的扩展,专注于易于代码导航和类型提示

1.0.0 2021-07-10 20:58 UTC

This package is auto-updated.

Last update: 2024-09-11 16:52:39 UTC


README

关键特性

  • 强类型视图层
  • 干净的模板作用域
  • 易于代码导航
  • 类型提示

安装

通过Composer安装模块

$ composer require markorstc/laminas-typedview

要求

PHP 8或更高版本

通过配置启用模块

Enable.module.mp4

入门

创建视图模型和模板

您通过扩展抽象类TypedView\Entity\ViewModel来创建一个类型化的视图模型。然后在TypedView\Entity\ViewModel::getTemplate()方法中指定您的.phtml模板文件的路径。

Create.view.model.mp4

在控制器中使用模型

要渲染您的模型,只需在Laminas控制器操作中返回它,就像您使用标准的Laminas\View\Model\ViewModel那样。

Use.model.in.controller.mp4

如果您想为多个控制器或操作使用常见的布局,您必须在控制器中实现TypedView\Controller\LayoutModelAware接口。

同时,您指定一个回调,该回调将渲染的子模型设置到父模型(在这种情况下,渲染的MyListViewModel设置到父MyLayoutModel)。

Use.root.layout.model.mp4

使用Laminas视图助手

可以使用Laminas标准视图助手,但您必须在创建类型化视图模型时扩展TypedView\Entity\LaminasBridgeModel

如果您想使用单个特定的Laminas视图助手并保持模板中的干净作用域,您可以使用助手特质,例如TypedView\Helper\UrlViewHelper

Laminas.view.helpers.mp4

嵌套视图模型

可以将视图模型作为独立的组件使用并组合它们。

要将一个模型添加到另一个模型中,使用TypedView\Entity\ViewModel::addChild()方法并指定捕获回调,就像在布局模型示例中那样。

View.models.nesting.mp4