zhangpengfei00 发表于 2017-3-31 09:57:21

【汇总】php 之编程习惯、优化、安全

  --------------------  优先权顺序进行缩进(一个4空格)
  ----------------------javascript书写规范

type="text/javascript"和 language="javascript"这两种目前方法都可以使用。其中language这个属性在W3C的HTML标准中,已不再推荐使用。
因此,我们约定:
    页面中引入javascript使用
<script type=”text/javascript” src=”xxx.js”></script>
    页面中声明javascript使用
<script type=”text/javascript”>
<!—
//这里加上方法体
//-->
</script>
  ----------------------文件保存格式
  
无论是PHP 或者 javascript或者html文件 或者是css文件,统一保存为utf-8
  ---------------------- HTML书写规则
  
所有HTML标记参数赋值需使用双引号包含,所有html标记为小写字母,且使用xml标签形式的自闭和。例如,应当使用<input type=”text” name=”test” value=”ok” />,而绝对不能使用<input type=text name=test value=ok>。应当使用<br />儿不应该使用<br>,<BR>或者<BR />,所有html文件以小写.html为后缀,以非下划线开始的数字或英文字母为文件名。

  --------------------SQL语句相关

所有SQL语句中,除了表名、字段名称以外,全部语句和函数均需大写,应当杜绝小写方式或大小写混杂的写法. 很长的SQL语句应当有适当的断行,依据JOIN、FROM、ORDER BY等关键字进行界定。可以参考phpmyadmin执行SQL语句的写法
  ------------------- PHP扩展模块的兼容性
  

设计中应避免使用PHP扩展模块,或试验性质的的函数或特性。如果确实必要使用,使用时应当加入必要的判断,当服务器环境不支持此函数的时候,进行必要的处理。文档和程序中的注释中,也应加上兼容性说明。
  ------------------- 单引号
  单引号不转意任何变量,通常有更高的性能,在能够代替双引号的时候,提倡更多的使用,除非需要解析特殊转义字符(如“\t \r \n”等),则使用双引号。
  -------------------
  近年来PHP开发组一直倡导代码规范化和标准化,未来版本PHP可能会开始不建议使用甚至取消<? ?>和<?=$variablename?>这种速记形式,因此为了加强程序兼容性,统一使用<?php ?> <?php echo $variablename?>
  --------unset($tmp);//注销变量,数组,对象,节省内存开销
  ----------// ===   !==
if (null === $this->_content) {
  ---------//推荐终止程序的写法
exit($json->encode($results));


---------使用foreach 前先判断是否为空
if (!empty($price_list))
    {
        foreach ($price_list as $value)
        {
  
=================PHP函数 empty isset()只能用于变量,数组,不能是empty(函数)

而intval可以作用于函数

错误:    if(isset(func::post('action')))


使用 unset() 释放变量之后,它将不再是 isset()。
PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。
检测常量是否已设置可使用 defined() 函数。





if(empty(trim($_POST["content"]))){

}

报错Can’t use function return value in write context

如果去除trim的话就没问题

如果去除empty的话就没问题

因为empty里的参数是一个变量,而trim的结果是一个字符串
==============================
  var_dump(in_array('1 and 123123=1233311',array(1,2,3,4,5)));

输出为

bool(true)
/////////////////////////////////
var_dump(in_array('1 and 123123=1233311',array('1','2','3','4','5')));

输出为

bool(false)
页: [1]
查看完整版本: 【汇总】php 之编程习惯、优化、安全