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
}
}详情属性视图
多详情属性视图
方法视图