zoukankan      html  css  js  c++  java
  • php代码规范

    php编码规范(未完待续)

     
    标准化的重要性和好处

    程序员可以了解任何代码,弄清程序的状况 
    新人可以很快的适应环境 
    防止新接触PHP的人出于节省时间的需要,自创一套风格并养成终生的习惯 
    防止新接触PHP的人一次次的犯同样的错误 
    在一致的环境下,人们可以减少犯错的机会


    一、代码标记

    1、<?php ?>
    2、<? ?> // 需要开记php.ini 的 short_open_tag

    选择使用第1种标记


    二、注释

    尽可能的写上注释,哪怕多花一些时间。


    三、书写规则

    [php] view plaincopy
     
    1. //每个缩进的单位约定是一个TAB(4个空白字符宽度),注意下面的写法,语句或关键词与括号之间的空格  
    2. if($a==1) {     
    3.     echo 1;    
    4. else {    
    5.     echo 0;    
    6. }    


    四、命名及书写

    1、文件命名

    //类文件
    xxx.class.php
    //函数文件
    xxx.func.php
    //包含文件
    xxx.inc.php

    //以上全部采用英文小写字母


    2、常量命令

    [php] view plaincopy
     
    1. //常量名所有字母都采用英文大写  
    2. define('DEBUG', FALSE);  
    3. define('PROJECT_ROOT', substr(dirname(__FILE__), 0, -7));  


    3、变量命令和函数命令(或类方法命令)

    [php] view plaincopy
     
    1. //全部采用英文小写字母命名,单词之间统一使用下划线分隔  
    2. function user_add($username) {  
    3.  $name = $username;  
    4. }  


    4、文件包含

    包含调用程序文件,统一使用require_once,以避免可能的重复包含问题
    包含和调用代码中,须以'./'或PROJECT_ROOT.'/'开头,应避免直接写程序文件名(例如:require_once 'x.php')的做法

    require_once PROJECT_ROOT.'./include/common.inc.php';


    五、安全

    [php] view plaincopy
     
    1. //数字型参数传递,参数传递尽可能的使用数字     
    2. $page = intval($_GET['page']);    
    3.     
    4. //字符串型参数传递     
    5. $allow_dos = array('add','remove','modify','view');     
    6. if( in_array($_GET['do'],$allow_dos)) {   
    7.     // Do something     
    8. }    
    9.     
    10. //mysql 查询  
    11. $sql = "select * from user where username=".mysql_escape_string($_POST['username']);   
    12.     
    13. //mysql入库  
    14. $username = addslashes($_POST['username']);   
    15.     
    16. //防止xss跨站脚本攻击  
    17. echo htmlspecialchars($_POST['message']);  



    六、引号的使用

    变量、常量、数组下标、包含文件尽可能的使用单引号,单引号里面的内容不会被解析,效率会更高
    $array['user'] = 'James';

  • 相关阅读:
    JDBC07-----代码重构之封装DBCUtils工具类
    JDBC06-----数据库连接池与配置文件
    JDBC05----事务与批处理
    JDBC04----预编译语句介绍
    JDBC03----DAO思想
    数据的序列化,持久化,归档
    苹果官方的图标大小的调整
    UIColletionView 的属性与常用方法介绍
    IOS学习笔记25—HTTP操作之ASIHTTPRequest
    IOS UI segmentedControl UISegmentedControl 常见属性和用法
  • 原文地址:https://www.cnblogs.com/xs-yqz/p/4331395.html
Copyright © 2011-2022 走看看