codespede/yii2-template-renderer
Composer 安装命令:
composer require codespede/yii2-template-renderer
包简介
Facility for rendering data in any custom format/structure with just a parent-view, child-view and DataProvider
README 文档
README
Facilitates rendering data in any custom format/structure with just a parent-view, child-view and DataProvider(Supports pagination, sorting, filtering and all other operations supported by DataProvider).
Though this extension is mainly intended for RESTful APIs built in Yii 2, it can be used anywhere in the application as explained below.
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require codespede/yii2-template-renderer "*"
or add
"codespede/yii2-template-renderer": "*"
to the require section of your composer.json.
Use Cases
- Suppose you want to deliver the data in CSV format like below:
title,image,content
ABC,abc.jpg,Content of ABC
MNO,mno.jpg,Content of MNO
XYZ,xyz.jpg,Content of XYZ
- Suppose you have to render the API response in a specific format like below:
-begin-
--title=ABC
--image=abc.jpg
--content=Content of ABC
---
--title=MNO
--image=mno.jpg
--content=Content of MNO
---
--title=XYZ
--image=xyz.jpg
--content=Content of XYZ
-end-
- Or in any situation where the you have to deliver custom formatted data through the API.
How to use
One can use this by simply returning the TemplateRenderer object in any action as shown in the below code:
public function actionRender(){
$dataProvider = new ActiveDataProvider(['query' => Model::find()->where($condition)])
return new \cs\templaterenderer\TemplateRenderer([
'dataProvider' => $dataProvider,
'parentView' => '/path/to/parent-view', //path to the parent or wrapper view file
'itemView' => '/path/to/item-view', //path to the item view file
]);
}
In the $parentView file, a placeholder {{items}} in the code will be replaced automatically with the collectively rendered result of $itemView for the models in the current page.
For example, if the content has to be rendered as shown in the second use case above, the $parentView file should be like:
-begin-
{{items}}
-end-
and the $itemView should be like:
--title=<?=$model->title?>
--image=<?=$model->image?>
--content=<?=$model->content?>
Advantages
- The data can be paginated, sorted and filtered just as how it can be done with a GridView or ListView. You can pass the pagination, sort and filter parameters in the URL and the content rendered will be according to the provided parameters.
- Easy to navigate through paginated content by utilizing Pagination Headers in the response.
codespede/yii2-template-renderer 适用场景与选型建议
codespede/yii2-template-renderer 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 18 次下载、GitHub Stars 达 0, 最近一次更新时间为 2018 年 10 月 06 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「rest」 「api」 「web service」 「yii」 「template renderer」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 codespede/yii2-template-renderer 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 codespede/yii2-template-renderer 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 codespede/yii2-template-renderer 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Model of a web-based resource
A PSR-7 compatible library for making CRUD API endpoints
Retrieve a WebResourceInterface instance over HTTP
Api bundle
Selectize Theme for Bootstrap 4
Provides command to manage a web library directory
统计信息
- 总下载量: 18
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 7
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2018-10-06