php编码规范:文档注释几种方法

 更新时间:2016年11月25日 15:14  点击:1930
本文章提供了5种注释方法:块注释,单行注释,尾端注释,行末注释,文档注释哦,下面我们就一一来看看吧。

短注释可以显示在一行内,并与其后的代码具有一样的缩进层级。如果一个注释不能在一行内写完,就该采用块注释。单行注释之前应该有一个空行。以下是一个代码中单行注释的例子:


if (condition) {

  /* 以下代码运行的条件 */
  ...
}

尾端注释

if ($a == 2) {
  return TRUE; /* 对单一条件的说明 */
} else {
  return isPrime($a); /* 其余的条件 */
}


/*
 * 这里是块注释
*/


块注释可以以/*-开头,这样indent(1)就可以将之识别为一个代码块的开始,而不会重排它。


/*-
 * 如果想被忽略,可是使用特别格式的块注释
 *
 * one
 *   two
 *     three
 */


注意:如果你不使用indent(1),就不必在代码中使用/*-,或为他人可能对你的代码运行indent(1)作让步。

4.4 行末注释

注释界定符"//",可以注释掉整行或者一行中的一部分。它一般不用于连续多行的注释文本;然而,它可以用来注释掉连续多行的代码段。以下是所有三种风格的例子:


if ($foo > 1) {

  // 第二种用法.
  ...
}
else {
  return false; // 说明返回值的原因
}

//if ($bar > 1) {
//
//  // 第三种用法
//  ...
//}
//else {
  // return false;
//}

档注释

/**
 * 说明这个类的一些 ...
*/

不管什么语言在变量申明或其它事情都会有多种选择的,但是它们之产有微小的差别,下面我们就拿变量申明来说说吧。

int $level; // 缩进的程度
int $size; // 由制表符决定


要优于,

int $level, $size;

不要将不同类型变量的声明放在同一行,例如:


int $foo, $fooarray[]; //错误


注意:上面的例子中,在类型和标识符之间放了一个空格,另一种被允许的替代方式是使用制表符:


int $level; // 缩进的程度
int $size; // 由制表符决定
$currentEntry; // 通常选择制表符作为缩进的标准

不管你写什么程序编码规范是不能少的,一个合格的程序员对编码的规范是非常不错的。

someMethod(longExpression1, longExpression2, longExpression3,
             longExpression4, longExpression5);

$var = someMethod1(longExpression1,
                 someMethod2(longExpression2,
                              longExpression3));

以下是两个断开算术表达式的例子。前者更好,因为断开处位于括号表达式的外边,这是个较高级别的断开。


$longName1 = $longName2 * ($longName3 + $longName4 - $longName5)
            + 4 * $longname6; //使用这种缩进方式

$longName1 = $longName2 * ($longName3 + $longName4
                   - $longName5) + 4 * $longname6; //避免这种

以下是两个缩进方法声明的例子。前者是常规情形。后者若使用常规的缩进方式将会使第二行和第三行移得很靠右,所以代之以缩进8个空格


//传统的缩进方式
function someMethod($anArg, $anotherArg, $yetAnotherArg,
          $andStillAnother) {
...
}

//利用8个连续空格避免过渡的缩进
function horkingLongMethodName($anArg,
     $anotherArg, $yetAnotherArg,
     $andStillAnother) {
...
}

if语句的换行通常使用8个空格的规则,因为常规缩进(4个空格)会使语句体看起来比较费劲。比如:


//不要使用这种缩进方式
if ((condition1 && condition2)
  || (condition3 && condition4)
  ||!(condition5 && condition6)) { //错误的换行方式,没有进行缩进
  doSomethingAboutIt(); //条件与此句对齐,造成阅读程序时很可能漏过此句
}

//应该使用这种缩进方式
if ((condition1 && condition2)
    || (condition3 && condition4)
    ||!(condition5 && condition6)) {
  doSomethingAboutIt();
}

//或者这样的缩进方式也可以
if ((condition1 && condition2) || (condition3 && condition4)
        ||!(condition5 && condition6)) {
  doSomethingAboutIt();
}

这里有三种可行的方法用于处理三元运算表达式:

$alpha = (aLongBooleanExpression) ? beta : gamma;

$alpha = (aLongBooleanExpression) ? beta
                 : gamma;

$alpha = (aLongBooleanExpression)
    ? beta
    : gamma;
下载php编码规范chm

http://down.111cn.net/down/help/php/2009/0301/phpchm.html

更加更好在各种编程在线帮助手册请到

http://111cn.net/help/查看

php 文件上传


 
     
    
     
 第十章(1)文件上传(一)
一.表单提交:
接收普通表单信息的数组有: $_GET    $_POST    $_REQUEST<不能确定表单的接收方式>
接收文件上传信息的函数有: $_FILES
同时做多个上传文件的表单的时候,表单不能同名.
如果要做文件上传<form>表单必须要改加的:
1.method="post"
2.enctype="multipart/form-data"
3.要加的:<input type="hidden" name="MAX_FILE_SIZE" value="100000">
二.对文件的操作:
text 文件类型:
text/html    .html    .htm
text/plain    .txt    .log
image 图片类型:
image/gif    .gif
image/jpeg    .jpeg    .jpg
image/png    .png
audio 声音类型:
audio/x-midi  mid    .midi    ,mid
audio/x-wav    .wav
video/quicktime    .qt    .mov
video/mpeg    .mpeg
application 文件类型:
application/pdf    .pdf
application/msword    .doc    dot
application/vnd.ms-excel    .xls
application/vnd.ms-powerpoint    .ppt
application/zip    .zip
application/rar    .rar
application/xml    .xml    .xsl
application/mshelp    .hlp    .chm
application/octet-stream    .ext    .bin    .com    .dll    .class
is_uploaded_file(目标文件名称) 判断是否是上传文件的函数.
move_uploaded_file(1.目标文件名称 2.移动到的位置名称) 将上传的文件移动到新的位置的函数.
     第十章(3)上传多个文件和文件下载处理
continue:在循环结构中使用,用来跳过本次循环中剩余代码并开始执行下一次循环.
其详细内容可参见php视频.

HTML表单中主要包括下列元素:
button 普通按钮    radio 单选按钮    checkbox 复选框    select 下拉菜单    text 单行文本框    textrea 多行文本框    submit 提交按钮    reset 重填按钮
用HTML设计表单常用的标记是:<form>,<input>,<option>,<select>,<textarea>和<isindex>等标记.
1.<form>表单标记:该标记的主要作用是设置表单的起止位置,并指定处理表单数据程序的文件名或URL地址,其基本语法结构是: <form action=url method=get|post name=value onreset=function onsubmit=function target=window> </form>
action :用于设置处理表单数据程序url的地址,这样的程序通常是CGI应用程序,采用电子邮件方式时,用action="mailto:你的邮件地址".
method :指定数据传送到服务器的方式,有两种主要方式:当method=get时,将输入数据加在action指定的地址后面传送到服务器,当method=post时,则将输入的数据按照HTTP传输协议中的post传输方式传送到服务器,用电子邮件接收用户信息时在用这种方式.
name :用于设置表单的名称.
onrest和onsubmit :主要针对reset和submit按钮,它们分别设置了在按下相应的按钮之后要执行的子程序.
target :指定输入数据结果显示在哪个窗口,需要<frame>标记配合使用.
2.<input>表单输入标记:此标记在表单中使用频繁,大部分表单内容需要用到此标记,其语法是:<inpur aligh=left|right|middle|top|bottom name=value type=text|textarea|password|checkbox|radio|submit|reset|file|hidden|image|button value=value src=url checked maxlength=n size=n onclick=function onselect=function>
align :用于设置表单的位置是靠左(left),靠右(right),靠中(middle),靠上(top),靠下(bottom).
name :设置当前变量名称.
type :决定了输入数据的类型,各项的意思是:
type=text :表示输入单行文本.
type=textarea :表示输入多行文本.
type=password :表示输入的数据为密码,用星号表示.
type=checkbox :比赛哦是复选框.
type=radio :表示单选框.
type=submit :表示提交按钮,数据将被送到服务器.
type=reset :表示清除表单数据,以便重新输入.
type=file :表示插入一个文件.
type=hidden :表示隐藏按钮.
type=image :表示插入一个图片.
type=bueeon :表示普通按钮.
value :用于设置输入默认值,即如果用户不输入的化,就采用默认值.
src :是针对type=image的情况来说的,用于设置图像文件的地址.
checked :表示选择框中此项被默认选中.
maxlength :表示在输入单行文本时的最大的输入字符个数.
size :用于设置在输入多行文本时的最大输入字符数,采用width,height方式.
onclick :表示在按下输入时调用指定的子程序.
onselect :表示当前项被选择时调用指定的子程序.
3.<select>下拉菜单标记:用<select>标记可以在表中插入一个下拉菜单,它需与<option>标记联用,因为下拉菜单的每个选项要用<option>标记来定义,<select>标记的语法是:<select name=nametext size=n multiple>
name :设置下拉菜单的名称.
size :设置菜单框的高度,也就是一次显示几个菜单项,一般默认值(size="1").
multiple :设置为可以进行多选.
4.<option>选项标记:该标记为下拉菜单中的一个选项其语法是:<option delected value=value>
selected :表示当前项被默认选中.
value :表示该项对应的值在该项被选中之后,该项的这就会被发送到服务器进行处理.
5.<textarea>多行文本输入标记:这是一个建立多行文本输入框的专用标记,其语法是:<textarea name=name cols=n rows=n wrap=off|hard|soft>
name :文本框名称.
clos :宽度.
rows :高度.(行数)
wrap :换行控制.
off :不自动换行.
hard :自动硬回车换行,换行标记一同被传送到服务器中去.
soft :自动软回车换行,换行标记不会传送到服务器中去.
     数据库

下面来看一下吧,这款php表单验证类用来判断过滤form来的值哦。

class post_get{
private $array; #提交表单检测字段和检测要求
# $type;  缺省为更新 或$type ="Into";  
public function _post_get($array,$type=""){
  if(!$array) die(" Error!! ");
   foreach ($array as $v)
   {
   $KK = $this->ck_split($v);
   $KKarray = split("_", $KK);
   if(preg_match("/Yes|No/is",$KKarray[1]))
    {
    $escape_filter = ($KKarray[2])? 'ck_'.$KKarray[2]:"";#需要转义和过滤
    $data = ($escape_filter)? $this->$escape_filter($_POST[$KKarray[0]]):$_POST[$KKarray[0]]; #输出合法数据
       if($data)
     {
     if(is_array($data))$data = implode(",",$data);
     $Into_data  .=",'$data'";
     $Into_Field.=",`$KKarray[0]`";
     $Updat_array[] ="`$KKarray[0]` = '$data'";
     }
    }
    else $error .= ($KK)? "[".$KK."],":"";
   }
   $_data=(!$type)? $Updat_array:array("$Into_Field","$Into_data");
   return (!$error)? $_data:$this->ck_script($error); # 数组为合法表单验证结果,字符串为错误信息提示
  }
public function ck_split($str){
  $strarray = explode(",",$str);
  foreach ($strarray as $i=> $var)
   if(0 ===$i)
   $name = trim($var);
  elseif(1===$i)
   {
   if(eregi("No",trim($var))&&!$_POST[$name])break;     #缺省忽略,否则...
   else $_type = (trim($var))? $name.'_'.trim($var):""; #检测后动作
   }
   elseif(2===$i)
   {
    $error = trim($var);
    if(!$_POST[$name])
    {
     $_error = $error;
     break;
    }
   }
   else # 检测部分
   {
    if(!trim($var))break;
    if(is_array($_POST[$name]))
    {
     foreach ($_POST[$name] as $_var)
      {
      $_error= ($this->ck_open($_var,trim($var)))?"":$error;
      if($_error)break;
      }
    }
    else
     {
     $_error= ($this->ck_open($_POST[$name],trim($var)))?"":$error;
     if($_error)break;
     }
   }
   return ($_error)? """.$name."","".$_error.""":$_type;
   }
# 窗口js提示
public function ck_script($str){
$str= trim($str,",");
  $str =  "
  <script>
  var str = new Array( $str );
  for (i=0; i < str.length; i++)
  {
  document.getElementById('J'+str[0]+'').innerHTML= str[1];
  }
  </script>
  ";
return $str;
}
# 类型判断
public function ck_detected($str){
  return (eregi("^[a-zA-Z]*$",$str))? 'ck_'.$str:'ck_Length';
}
# 函数调用
public function ck_open($string,$str){
  $functi = $this->ck_detected($str);
  return ($this->$functi($string,$str))? true:false;
}
#-------------------------------------以下为检测函数  
# 长度
public function ck_Length($string,$str){
  $len = split('-',trim($str));
  return (strlen($string) > ($len[0]-1) && strlen($string) < ($len[1]+1))? true:false;
}
# 价格
public function ck_money($str){
  return preg_match("/^(-|+)?d+(.d+)?$/",$str);
}
# 邮件
public function ck_email($str){
  return preg_match("/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/", $str);
}
# 网址
public function ck_url($str){
  return preg_match("/^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^<>"])*$/", $str);
}
# 数字型
public function ck_num($str){
  return is_numeric($str);
}
# 中文
public function ck_cn($str){
  return preg_match("/^[x7f-xff]+$/", $str);
}
# 字母
public function ck_en($str){
  return preg_match("/^[A-Za-z]+$/", $str);
}
# 数字字母混合
public function ck_numen($str){
  return preg_match("/^([a-zA-Z0-9_-])+$/",$str);
}
# 电话号码
public function ck_tel($str){
  return ereg("^[+]?[0-9]+([xX-][0-9]+)*$", $str);
}
# 敏感词
public function ck_key($str){
  Global $badkey;
  return (!preg_match("/$badkey/i",$str));
}
#-----------------------------------------------------输出
# 字符替换
public function ck_filter($str){
  $str=(is_array($str))? implode(",",$str):$str;
  $str=HTMLSpecialChars($str); //将特殊字元转成 HTML 格式。
  $str=nl2br($str); //将回车替换为<br>
  $str=str_replace(array(" ",'<? '),array(" ",'< ?'),$str); //替换空格替换为
  return $str;
}
# MD5加密
public function ck_md($str){
  return  MD5($str);
}
# 转义
public function ck_escape($str){
  return  (is_array($str))? implode(",",$str):$str;
}
# 有条件注销(数字)
public function ck_cancel($str){
  return (!is_numeric($str))? $str:"";
}
# 无条件注销(数字)
public function ck_delete(){
  return null;
  }
}

[!--infotagslink--]

相关文章

  • c#字符串编码编码(encoding)使用方法示例

    System.Text提供了Encoding的抽象类,这个类提供字符串编码的方法。使Unicode字符数组的字符串,转换为指定编码的字节数组,或者反之,看下面的例子...2020-06-25
  • 老生常谈javascript变量的命名规范和注释

    下面小编就为大家带来一篇老生常谈javascript变量的命名规范和注释。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-10-02
  • 通过javascript进行UTF-8编码的实现方法

    下面小编就为大家带来一篇通过javascript进行UTF-8编码的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-07-01
  • 详解JS ES6编码规范

    本章节讨论使用ES6编码风格到代码中需要注意的点。通过记住这些关键点,可以让我们写出更优美的、可读性更强的JavaScript ES6风格的代码。...2021-05-08
  • php中把unicode编码转化为中文

    小编在网上看到最多的就是汉字转换unicode编码了,今天我们看到一个反过来的操作就是把unicode转换成中文了,下面一起来看看 这两天帮别人开发微信平台好友板块,存...2016-11-25
  • .Net(c#)汉字和Unicode编码互相转换实例

    下面小编就为大家带来一篇.Net(c#)汉字和Unicode编码互相转换实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 解析C#编程的通用结构和程序书写格式规范

    这篇文章主要介绍了C#编程的通用结构和程序书写格式规范,这里我们根据C#语言的开发方微软给出的约定来作为编写样式参照,需要的朋友可以参考下...2020-06-25
  • 最全的Javascript编码规范(推荐)

    本文给大家总结了js编码规范知识,非常实用,在日常程序开发中经常可以用到,大家务必掌握...2016-06-24
  • R语言变量重编码、重命名的操作

    这篇文章主要介绍了R语言变量重编码、重命名的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • PHP把16进制的编码转为中文程序代码

    今天在做公司的项目的时候,遇到一个问题,群聊天记录存入数据库的时候把聊天记录及央视使用16进制转换,我在做将聊天记录导出为text文本的时候,需要将聊天记录先从16进制转...2016-11-25
  • php中mb_detect_encoding检测文件编码方法[非完美]

    在php中我们可以利用mb_detect_encoding函数来检查字符串编码或文件编码,mb_detect_encoding函数是php内置的一个函数了,下面我们简单介绍。 关于文件编码的检测,百...2016-11-25
  • php输出全部gb2312编码内的汉字方法

    本文介绍了php输出全部gb2312编码内的汉字方法,非常实用,有兴趣的同学可以参考一下 php输出全部gb2312编码内的汉字,$area表示分区,$pos表示分区内所在位置。 代码...2017-07-06
  • 解决python3 中的np.load编码问题

    这篇文章主要介绍了解决python3 中的np.load编码问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-27
  • 基于C#开发中的那些编码问题(详谈)

    下面小编就为大家分享一篇基于C#开发中的那些编码问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
  • 设置表单提交数据的编码两种办法

    有时我们提交页面编码为gb2312但是接受的php页面的编码为uft8这样如果我们直接这样提交过去,肯定是出现乱码了,那么我们可以在提交表单时设置提交数据编码即可解决。...2016-09-20
  • 使用php的编码功能-实例调用(3)

    <?php include_once("mime.inc"); $mm = new MIME(); $to = "customer@263.net"; $subject = $mm->encode("商城","gb2312"); // 编码 $msg = "注册会员成功<br>"; $m...2016-11-25
  • C#中字符串编码处理

    C#中字符串编码处理,需要的朋友可以参考一下...2020-06-25
  • PHP自动识别字符集编码并完成转码

    原理很简单,因为gb2312/gbk是中文两字节,这两个字节是有取值范围的,而utf-8中汉字是三字节,同样每个字节也有取值范围。而英文不管在何种编码情况下,都是小于128,只占用一个...2016-11-25
  • C#简单判断字符编码的方法

    这篇文章主要介绍了C#简单判断字符编码的方法,可实现判断utf-8,unicode,ansi等编码的功能,简单实用,需要的朋友可以参考下...2020-06-25
  • python标识符命名规范原理解析

    这篇文章主要介绍了python标识符命名规范原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-04-27