一、PHP相关命名规范
1、方法命名
方法,指的是在类中定义的函数,方法的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如:getUserName( ),_parseType( ),通常下划线开头的方法属于私有方法;
2、函数命名
函数是指不在类中定义的函数,例如在公共文件中的函数。函数的命名使用小写字母和下划线的方式,例如 get_client_ip( );
3、变量命名
变量,也叫属性。属性的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 tableName、_instance,通常下划线开头的属性属于私有属性;
4、常量命名
常量以大写字母和下划线命名,例如 HAS_ONE和 MANY_TO_MANY;
5、配置参数命令
配置参数以大写字母和下划线命名,例如 HTML_CACHE_ON = 1;
二、编码风格规范
1、禁止出现多行空格
如果不是特殊需要,在代码文件中禁止出现多行空格。
2、缩进
代码中需要适当的缩进,否则会加大维护难度。
3、目录结构
一般框架都是有默认的目录结构,非特殊情况不允许修改目录结构,例如thinkphp默认的是MVC架构的目录结构,避免由于更改目录结构带来的维护困难。Controller文件放在Controller目录 中,Model文件放在Model目录中,View文件放在View目录中,不要随意更改目录的位置和目录名称。
三、安全
1、输入框
所有的输入框请设置最大长度,必填项请做必填的限制。例如帐号CHN00000001,只能输入11位,那么最大输入长度只能为11,并且添加required="required"属性。
2、文本编辑器
前台页面尽量不要使用富文本编辑器,因为富文本编辑器可以输入代码,有很大的安全隐患。如果要使用,必须对提交内容进行过滤,例如使用htmlspecialchars()进行过滤。
3、后台接收参数
PHP从表单获取url中获取参数必须进行字段类型判断。例如接收数字的参数不能含有其他字符,只能是数字,建议编写公共的检查接收post和get参数的函数,对每一个参数值进行验证,防止注入恶意代码。接收长篇内容的变量,例如留言内容等变量时,必须进行特殊字符的过滤操作。比如strip_tags()、htmlspecialchars()、htmlentities()等函数可以起作用,防止用户注入恶意代码进行跨站脚本攻击。
4、权限控制
凡是需要登录之后才可以访问的页面加载页面之前必须做好登录检测,登录超时的必须重新登录。需要权限访问的页面和功能必须做好权限控制和检测。
四、并发和大流量处理
1、重复提交
为了防止用户在提交表单时重复提交,表单必须设置提交验证。例如商城提交订单时,必须防止用户重复提交。Thinkphp框架中提供表单令牌的功能可以防止重复提交,原生php也可以在打开页面前生成token,并保存在session,然后将token传递到页面表单字段,在表单提交时将token一起提交,在后台接收时验证token,验证后销毁session的保存的token。
2、session
一次性验证的session使用后必须销毁,例如短信验证,表单验证等,防止一次性session被重复利用,例如在用户在注册时如果不销毁短信验证码session,用户可以用同一个短信验证码注册多个账号。
3、并发
并发处理会经常碰到,例如商城秒杀功能,如果不做好并发处理,那么同一件商品江湖被多个用户购买。
并发的处理方案可以考虑以下方案:
(1)锁表操作,缺点是并发数比较大的时候回造成系统卡顿。
(2)队列
(3)负载均衡
(4)数据库读写分离
(5)使用Nginx作为http服务器
4、缓存
对于经常需要访问的数据库数据,可以使用缓存来提高访问速度,读取缓存文件数据币数据库查询要快得多,主要缓存技术有:
(1)Thinkphp自带的S()方法
(2)文件读写,这个方法主意数据的加密确保安全性
(3)Memcached
推荐教程:PHP视频教程
Atas ialah kandungan terperinci php开发遵循规范是什么. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!