

#app#应用项目

* 有些说法叫app,应用等
* 如：招商加盟站，如房产网站，装修站 为3个不同应用项目；其中前两个用贴心猫系统开发，后一个用某某cms开发。
* 每一个应用项目有单独的配置，数据库，缓存等… 
* 一般一个独立的系统对应一个应用项目(即单应用系统)，也可一套贴心猫系统下开发管理多个应用项目，没有特别说明是基于前者描述。


#entry#展示入口

* 一个应用项目，应至少一个或多个入口；没有特别说明，一般按一个应用项目多个入口；
* 如：后台入口，pc版入口，mob入口，app数据接口入口；
* 一个入口，对应一套模板(视图)和相关模板配置，一个入口可展示多个模型，多种数据；


#mkv#mkv路由

* 示例: （以下说明中省略了`/chn.php`或`dev.php`）
 - ?news 新闻模型首页(news为后台架构的新闻模型)
 - ?news-inner 新闻-国内新闻栏目(inner为后台架构的新闻栏目)
 - ?news.2017-6b-1234 新闻详情(id=2017-6b-1234)
 - ?build.2017-7a-5678 楼盘详情(默认楼盘详情页)
 - ?build.2017-7a-5678.adv 楼盘海报(adv自定义扩展视图页)
 - ?build.2017-7a-5678.rent 楼盘(小区)下出租列表(rent自定义出租列表页)
 - ?build.2017-7a-5678.sale 楼盘(小区)下出售列表(sale自定义出售列表页)

* mkv
 - 上述`?`后面的字符串，由2-3部分组成，由`.`或`-`分开，三部分合在一起叫mkv
 - 模型 与 栏目/分类 用`-`分开
 - 模型 与 详情 用`.`分开
 - 系统由mkv设置查找模板，展示数据

* m: 模型
 - 如上述的news,build等，是后台架构的模型；
 - 也可以是自定义的模型，如演示站中文文档中的：
 - ?start `快速开始`(自定义模型)首页

* k: 模型栏目kid 或 详情id 或 自定义(分类)id
 - ?news-inner 新闻-国内新闻栏目
 - ?start-files 快速开始-文件结构自定义分类(files)

* v: 扩展视图参数
 - 如果只有m，为模型的首页，当然，也可定义为列表模板；此时无v参数
 - 如果是m+栏目(分类)，默认是列表视图，省略v
 - 如果是m+详情，默认是详情视图，省略v
 - 某些情景需要展示复杂内容；如一个楼盘除了详情页，还有一页海报页，一页楼盘下的二手房源，一页楼盘下的出租房源，这样用v参数，设置不同模板

* mkv配置
 - 见每套模板目录下的`_config`子目录
 - 如：/views/dev/_config/


#flow#(附)执行流程

* 入口文件(示例)：/doc.php
 - 入口配置, 基本常量
 - 加载初始化文件 require ...'/root/run/_init.php';

* 初始化文件：_init.php
 - 初始化 $_cbase
 - 加载系统路径 ('/root/cfgs/boot/_paths.php');
 - 加载常规配置 ('/cfgs/boot/const.php')
 - 加载后台设置_score '/dset/_score.cfg.php')
 - 包含自动加载类 ('/core/blib/loader.php')
 - 处理outer运行模式,加载别名函数,类自动加载处理等

* 返回入口文件：
 - 执行类似代码：`$vop = new vopShow();`
 - 由vopShow 显示页面

* vopShow::run
 - vopTpls::check(); 入口检查
 - vopUrl::init($q); 初始化mkv
 - $this->getVars(); 获取基本数据
 - $this->extActs(); 执行:控制器-操作(如果有)
 - $this->tplCheck(); 检查模板+编译
 - extract(); 释放变量
 - include $tplfull; 包含编译过的模板显示数据

