TFWEB的视图遵循RESTFul接口规范
/** * Class TFResource_xxx * * Methods: * * ---------- * -- 信息 -- * ---------- * * ---- 公共 * full - 详情 * fullDetail - 完整详情 * * ---- 管理 * * ---- 前端 * list - 列表 * listHot - 推荐列表 * * ---------- * -- 事件 -- * ---------- * * ---- 公共 * filterRowData - 过滤 * * ---- 管理 * * ---- 前端 * add - 发布日志 * mod - 编辑日志 * del - 删除日志 * refreshHot(file) - 刷新推荐列表 */
方法名称和属性名称之间不可重复
“信息”即属性,“事件”即方法
“公共”即后台和前端都会使用到的方法或属性
“管理”即后台会使用到的方法或属性
“前端”即前台会使用到的方法或属性
视图属性名称需要以“load_”开头
视图方法名称需要以“action_”开头
class TFResource_xxx extends TFResource { public function load_full($ID) { } public function load_fullDetail($ID) { } public function load_list($opts) { } public function load_listHot($opts) { } protected function filterRowData(&$rowData) { } public function action_add() { } public function action_mod() { } public function action_del() { } public function action_refreshHot() { } }
视图属性不在视图类内实现,则需要在视图名称对应目录下建立属性名称同名程序文件,在程序文件内实现属性读取逻辑
视图方法不在视图类内实现,则需要在视图名称对应目录下建立方法名称同名程序文件,在程序文件内实现方法业务逻辑
视图类代码(xxx.inc.php)
class TFResource_xxx extends TFResource { }
视图属性程序代码(xxx/full.inc.php)
视图属性请求路径 GET /xxx/{ID}/_full
class TFResource_xxx_full extends TFResource { protected function prepareRowData($ID, $opts) { return array(); } protected function filterRowData(&$rowData) { } }
视图属性程序代码(xxx/list.inc.php)
视图属性请求路径 GET /xxx/_list
class TFResource_xxx_list extends TFResource { protected function prepareTableData($opts) { return array(); } protected function filterRowData(&$rowData) { } }
视图属性程序代码(xxx/listHot.inc.php)
视图属性请求路径 GET /xxx/{IDList}/_listHot
class TFResource_xxx_listHot extends TFResource { protected function prepareRowsData($IDs, $opts) { return array(); } protected function filterRowData(&$rowData) { } }
视图方法程序代码(xxx/action_add.inc.php)
视图方法请求路径 POST /xxx/_add
class TFResource_xxx_add extends TFResource { protected function prepareAction() { return $this->formResultData('success'); } }
class TFResource_xxx_list extends TFResource { protected function prepareTableData($opts) { return array(); } protected function filterRowData(&$rowData) { } }
API视图文件存储于 WEB-INF/Controllers/Views/xxx/list.inc.php
API视图对象继承自基类 TFResource
API请求方式为 GET,路径为 /xxx/_list
class TFResource_xxx_full extends TFResource { protected function prepareRowData($ID, $opts) { return array(); } protected function filterRowData(&$rowData) { } }
API视图文件存储于 WEB-INF/Controllers/Views/xxx/full.inc.php
API视图对象继承自基类 TFResource
API请求方式为 GET,路径为 /xxx/{ID}/_full
class TFResource_xxx_rows extends TFResource { protected function prepareRowsData($IDs, $opts) { return array(); } protected function filterRowData(&$rowData) { } }
API视图文件存储于 WEB-INF/Controllers/Views/xxx/rows.inc.php
API视图对象继承自基类 TFResource
API请求方式为 GET,路径为 /xxx/{IDList}/_list
class TFResource_xxx_add extends TFResource { protected function prepareAction() { return $this->formResultData('success'); } }
API视图文件存储于 WEB-INF/Controllers/Views/xxx/action_add.inc.php
API视图对象继承自基类 TFResource
API请求方式为 POST,路径为 /xxx/_add
函数返回值结果有要求
{ "total": "2", "data": [ { "postDT": "2018-12-22 15:58:20", "id": "1", "title": "张三" }, { "postDT": "2018-12-22 15:58:38", "id": "2", "title": "李四" } ], "page": { "total": 2, "pageSize": 3, "pageNum": 1, "pageCount": 1, "seekBegin": 0, "fetchNums": 2 } }
详情属性视图
多详情属性视图
方法视图