PHP书写规范

PHP(全称:PHP:Hypertext Preprocessor,即”PHP:超文本预处理器”)是一种通用开源脚本语言。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

PHP书写规范

任何一门语言都有自己独特的书写规则,接下来我们就来了解一下PHP的魅力。

PHP片段四种表示形式

PHP片段的表现形式有以下四种,不过我们一般都用第一种。

  • 标准tags:<?php ?>
  • short tags:<?   ?> 需要在php.ini中设置short _open_tag=on,默认是on
  • asp tags: <%  %>需要在php.ini中设置asp_tags=on,默认是off
  • script tags:<script language=”php”></script>

PHP注释

PHP注释有以下三种

  • 单行注释 使用//或者#之后的代码将不起作用
  • 多行注释 /*这里的代码将被注释*/

PHP定界符

Heredoc技术。可用来输出大段的html和javascript脚本
1、开始标记和结束标记使用相同的字符串,通常以大写字母来写。
2、开始标记后不能出现空格或多余的字符。
3、结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。
4、位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在heredoc中,变量不需要用连接符.或,来拼接 。
例如:

<?php
    $str= <<<EOT
            <body>
            <!--12321-->
            Hello,{$name}!
            Hello,$name!
            </body>
EOT;
    print $str;
//结束放在行首,后面不能有空格,定界符结束下一行必定要有内容
?>

结果

 <body>
            <!--12321-->
            Hello,浅水游!
            Hello,浅水游!
 </body>

Nowdoc技术,其用法和heredoc相同,不同的是Nowdoc 结构是类似于单引号字符串的。nowdoc中不进行解析操作。这种结构很适合用于嵌入PHP代码或其它大段文本而无需对其中的特殊字符进行转义。与 SGML 的 结构是用来声明大段的不用解析的文本类似,nowdoc 结构也有相同的特征。

一个 nowdoc 结构也用和 heredocs 结构一样的标记 <<<, 但是跟在后面的标识符要用单引号括起来,即 <<<‘EOT’。
例如:

<?php
    $name = '浅水游';
     <!--下面<<<EOT后面不能有空格-->
    $str= <<<'EOT'
            <body>
            <!--12321-->
            Hello,{$name}!
            Hello,$name!
   </body>
EOT;
    print $str;
?>

结果:

 <body>
            <!--12321-->
            Hello,{$name}!
            Hello,$name!
  </body>

很容易注意到Nowdoc没有对变量$name进行解析,原代码输出。

PHP变量命名规则

常量名 类常量建议全大写,单词间用下划线分隔         MIN_WIDTH
变量名建议用下划线方式分隔       $var_name 
函数名建议用驼峰命名法      varName
定界符建议全大写       <<<DING, <<<'DING'
文件名建议全小写和下划线、数字     func_name.php
私有属性名、方法名建议加下划线      private $_name _func
接口名建议加I_             interface I_Name

大小写区分情况

  • 类名、方法名、属性名、函数名:不区分大小写
  • 变量名、常量名、元素下标:区分大小写
<?php
Class A{
    public function show(){
        echo 'sdsds';
    }
}
 $obj=new A();
$obb=new a();
$obj->show();
$obb->Show();
?>

结果:

sdsdssdsds

转义

PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name);最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出。
例如:

<?php
$name="string";
echo " 字符串" . '$name';
echo  "字符串" . "$name";
?>

结果:
字符串$name字符串string

PHP中双引号的转义字符有

" \n" ==>换行
"\r"==>回车
"\t"==>水平制表符
"\\"==> 反斜杠
"\$" ==>美元符号
" \' "==>单引号
" \" " ==>双引号
" \[0-7]{1,3} " 正则表达式匹配一个八进制符号表示的字符
" \x[0-9A-Fa-f]{1,2} " 正则表达式匹配一个十六进制符号表示的字符

PHP中单引号只转义单双引号

<?php
print 'I\'m m just ducky.';
print 'I\"m m just ducky.';
?>

结果:

I'm m just ducky.I\"m m just ducky.

小知识:

1、由于PHP将试图找出那些需要将其值插入到双引号内的变量,所以从理论上讲,使用单引号要快一些。但是,如果需要打印一个变量的值,则必须使用双引号

2、因为有效的HTML常常包括许多用双引号括住的属性,所以当利用PHP打印HTML时,使用单引号最容易。

echo '<table width="200" border="1" cellspacing="5" cellpadding="2" align="center">';

如果想使用双引号打印出上面这段HTML代码,将不得不对字符串中的所有双引号进行转义,所以相对来说较麻烦。

闲言碎语

到此,我能想到的所有PHP书写规范已经总结完毕,可能有所遗漏,如何我发现的话会补上,当然也希望各位能帮我找出来,谢谢。

点赞

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注