markorstc / laminas-typedview
强类型视图层,作为Laminas MVC系统的扩展,专注于易于代码导航和类型提示
1.0.0
2021-07-10 20:58 UTC
Requires
- php: ^8.0
- laminas/laminas-mvc: ^3.2
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()
方法并指定捕获回调,就像在布局模型示例中那样。