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