home-code

示例❤源码



可以先了解过目一下,后续碰到了再来仔细查阅

### 文件目录

* 概要说明
  - 避免中文目录名、文件名:否则出现乱码 或 读写错误够你受的;
  - 避免非常长的目录名、文件名:不要随便制造文件后缀,文件目录名尽量控制在3-8字符内;
  - 避免目录层次非常深:一般的3-5层应该够用了;
  - 避免一个文件夹下非常少或非常多的文件或子目录;

* 目录名说明
  - 根据上面规范,一些目录文件名会很奇怪?现在集中解析一下:
  - /ures/ : 上传资源附件目录 - upload-resources 的缩写;
  - /ximps/ 和 /xvars/ : imps 为 imports  的缩写; vars 为 variable 的缩写;  
    因为这两个目录,几乎不用维护代码,所以增加x前缀,使它们在很多场合排在后面;
  - /imcat/adpt/ : api 为 adapter 的缩写; 
  - /imcat/core/blib/ : 核心基础类库 - base-library
  - /imcat/core/clib/ : 核心通用类库 - common-library
  - /imcat/core/dops/ : 数据操作类库 - Data-Operations
  - /imcat/core/elib/ : 扩展类库 - Extra-library
  - /imcat/core/glib/ : 全局通用类库 - Global-library
  - /imcat/core/sdev/ : 系统二次开发类库 - System-Develop
  - /imcat/core/uext/ : 用户扩展类库 - User Extra
  - /imcat/core/vops/ : 视图操作类库 - View-Operations

* 类自动加载
  - 类前缀及类自动加载规范见配置:root/cfgs/boot/cfg_load.php
  - 二次开发等,请按这个规范,常用类前缀如下:
  - /imcat/core/dops/usr\*.php - 用户/会员相关类库
  - /imcat/core/glib/adm\*.php - 后台管理相关类库
  - /imcat/core/glib/fld\*.php - 字段管理相关类库
  - /imcat/core/glib/saf\*.php - 安全过滤相关类库
  - 其他前缀,见上目录说明

* 类库命名空间
  - 以上所有核心类库,命名空间为 `imcat\`
  - 每一组 视图模板 里的模板扩展类,或控制器类:命名空间为 `imcat\{tpldir}\`,其中{tpldir}为模板目录,
    如:`imcat\comm`, `imcat\adm`

* 类库函数
  - 参考:[类库函数]({surl(home-class)})


### 数据库表前缀

* 数据库词典
  - 参考:[数据库词典]({surl(home-dbtab)})

* 一些前缀(每一个前缀搜有一组数据表)
  - active_ 管理员/会员 登录信息,seesion相关表
  - advs_ 广告/链接 相关表
  - base_ 系统基础信息表
  - bext_ 系统扩展信息表
  - coms_ 留言互动信息表
  - dext_ 文章/咨询扩展表
  - docs_ 文章/咨询信息表
  - exd_ 扩展功能相关表
  - init_ 初始化相关表
  - logs_ 操作记录相关表
  - plus_ 专项插件表
  - token_ token令牌存储表
  - topic_ 专题相关表
  - types_ 类别相关表
  - users_ 用户相关表
  - wex_ 微信公众号相关表


### 一些规范数据


#### 常用cookie

* 行业规范:
  - 最多20个,all-4K内 : 

* vcodes max = 3; //100B,最多40个,
  - 格式:vcode1=1399958681,encode1;vcode2=1399958682,encode2;
  
* clicks max = 5; //050B,最多80个,
  - 格式:keyid1=time1;keyid2=time2;
  
* ocnums max = 1; //order car numbers
  - 格式:5 (5items)

* session,uniqueid; //(2+)*60B
  - 格式:Uniqueid_9eb131bb0613 = 2015-bj-mh0agwr-79dbw7xaa-2aa6d631d
  - 格式:sessid_21662c8752aa  = 2015-bj-mh18s9j-bayj6h7bb-613bfd3d2

* order-car; //1个数字
  - 格式:oCarItems = 3

* lang; //1个:en/cn等
  - lang = en


#### 32位数大小

```
       2^32 = 4,294,967,296    
       2^31 = 2,147,483,648
 2147483647 = 2038-01-19 11:14:07 >> date('Y-m-d H:i:s', 2147483647);
          0 = 1970-01-01 08:00:00 >> date('Y-m-d H:i:s',          0);
-2147483648 = 1901-12-14 04:45:52 >> date('Y-m-d H:i:s',-2147483648);
``` 

#### tabindex范围

```
安全:最小值-最大值: 0 - 32767 (W3C的规定)
认证码: 19790
submit: 19820/19830
```    

#### zIndex / z-index 范围及规划

* [thoery]
  - 安全(最小值-最大值)       :: 0 - 2147012012
  - {[file]/[场景]/class}    :: {旧值} >> {新值}

* [third]
  - layer.js                 :: zIndex:19891014+
  - date-picker              :: 100010

* [pop/dialog/toast] 5000
  - .dialog / .toast         :: 5000 >> 5000
  - .color_out               :: 6400 >> 5000
  - .wpop_iframe             :: -1 ???

* [mask] 4000 [++ 8000 ??]
  - .smenu                   :: 8000 >> 4200
  - .mask                    :: 1000 >> 4000

* [menu] 3000
  - .qrcode_pic              :: 1024 >> 3100
  - .dropdown-menu           :: 4060 >> 3000 

* [text] 2000
  - .evf_vtip                :: xxx >> 1900
  - chain.js(鼠标特效)        :: xxx >> 1800
  - .adpush_edit             :: 4096 >> 1500
  - .advFlag                 :: 4048 >> 1500
  - picPlay.js               :: 4210 >> 1300

* [map/editor] 1000
  - jsmove.js >> .TemDiv      :: 500 >> 500
  - [map]layout.htm - .opBar  :: 666 >> 300

* [Bootstrap] (后台少量使用)
  - all :: 1000 ~ 1100
  - $zindex-dropdown:          1000 !default;
  - $zindex-sticky:            1020 !default;
  - $zindex-fixed:             1030 !default;
  - $zindex-modal-backdrop:    1040 !default;
  - $zindex-modal:             1050 !default;
  - $zindex-popover:           1060 !default;
  - $zindex-tooltip:           1070 !default;

使用`z-index`请以此为参考。

<!--

-->

-End-