Monxin梦行应用开发规范
1一、命名规则
文件,类名,函数方法,变量,全用英文单词加下划线连接形式合名,

如 get_name      add_cart  name_values  day_sum
2二、注释规则
1、文件头部加此页 功能说明,并加作者姓名(拼音首字母)如://developer=lcq

2、代码块 函数  if else switch case  都要加注释

3、函数注释要加调用示例,如//get_name(996,19099887788);使用示例
3三、代码规则
1、复用频率高的,代码函数,可申请写入 公用文件中 如 ./config/function.php  ./public/sys_head.js  ./templates/0/index/default/pc/main.css

2、后端开发者,在文件头部,要先用  $get=safe_str($_GET) $post=safe_str($_POST)过虑外部内容,尽量不要直接用 $_GET $_POST
     后续操作都走 $get $post,  $_COOKIE 操作时,进sql时,也要走safe_str($_COOKIE['****'])
     值为,整数或浮点数时,要在文件头部用 intval() floatval()  强制转换,如$get['id']=intval($get['id']);
     从数据库读出数据,输出给浏览器时,要走 de_safe_str($v)
     单个文件 $_GET $_POST 只能出现一次
     通用需求,可先去 ./config/function.php  ./public/sys_head.js  查找,是否有现成函数调用,或联系上级咨询

3、需要登录才能看到的模块,输出数据为 json,保存在 $module['json'] 数组下,供前端模板调用 前端格式化json 输出HTML

4、无需登录就可看的模块,建议同时自己组装HTML 保存在 $module[***]数组下,供模板调用 

5、修改他人代码时,要在修改处,加作者,原因,日期备注

6、sql调用外部数据时,一定要确保数据过 safe_str(),整数或浮点数时,确保用 intval() floatval()  转换过

6、sql -select- 时,一定要标名,字段时,及 调用数量,保持速度不慢 如  -select- `id`,`name` from monxin_index_user limit 0,1   

7、sql -update-时,加要 limit 如 -update- monxin_index_user set `nickname`='SHE' where `id`=1 limit 1

 8、单页面,调用 同一表次数过多时,建议先把表数据存入数组,再调用数组中的数据

4四、数据表前缀说明
操作表时,不要直接写表全名,要通过前缀写,

如: -select- `id`,`name` from ".$pdo->index_pre."user where `id`=5 limit 0,1

$pdo->index_pre //主系统表前缀,如实值=monxin_index_

$pod->sys_pre    //本站表统一前缀,如实值=monxin_

self::$table_pre //当前应用表前缀,如实值=monxin_mall_

解释例子
monxin_mall_shop
系统前缀_应用前缀_表名

5五、文件操作,路径安全过虑
safe_unlink($path)//安全删除文件

safe_path($path)//返回过虑后的文件夹路径

safe_rename($old_path,$new_path) //安全重命名文件

my_safe_save_file_name($path,$allow)//返回过安全虑后的文件名 使用列:my_safe_save_file_name('a.php','jpg,png,gif'); 返回  a.php_forbidden

文件操作不要跳出网站目录,网站目录变量 $_SERVER ['DOCUMENT_ROOT']

6六、PHP函数相关
函数要写在调用前

不要使用以下PHP内置函数
phpinfo,eval,passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen,putenv
7七、系统已整合常用类
bootstrap layui  jQuery WEUI 前端框架 及font-awesome字体,其它常用的第三方类 ./lib/   ./plugin/   ./public/
8八、语言文件
所有页面,默认已加载 ./language/chinese_simplified.php,及应用自身语言:./program/应用目录名/language/chinese_simplified.php

可 var_dump(self::$language)  查看,是否有现成的语言
9九、子应用目录文件说明
 目录attachd  可视编辑器上传的附件存放目录

 目录img 默认图片存放目录

 目录img_thumb  默认缩略图存放目录

 目录install_sql  应用安装时的数据文件

 目录language  应用语言文件

 目录receive  数据接收处理目录

 目录show  输出显示界面数据

 admin_map.php  本应用后台导航条数据文件

 example.class.php  本应用 数据显示入口类

 config.php  应用配置文件

 icon.png  应用图标

 install.php  应用安装时执行的文件

 menu.php  应用后台菜单(主用于,权限配置时)

 module_config.php  应用的模块配置文件

 pages.php  应用的页面配置

 receive.class.php  本应用 数据接收入口类

 uninstall.php  应用卸载时执行的文件

 payment_function.php 另费功能配置文件

10十、梦行文件操作接口(支持服务器集群)
注意,网站服务器要与文件服务器时间同步
$file=array();
$file['act']='list|save|del|info|get|copy';
$file['path']='';
$file['content']='';
$r=yun_file($config,$file);
或者
yun_file(self::$config,array('act'=>'del','path'=>$path,))
yun_file(self::$config,array('act'=>'get','path'=>$path,))
yun_file(self::$config,array('act'=>'save','path'=>$path,'content'=>$c))
yun_file(self::$config,array('act'=>'list','path'=>$path))
yun_file(self::$config,array('act'=>'info','path'=>$path))
yun_file(self::$config,array('act'=>'copy','source'=>$source,'new'=>$new))



act解释 list=scandir,save=file_put_contents,del=unlink
本页由《梦行文档》生成

 

name完成
30