mumudontcry 发表于 2017-2-23 22:03:20

【php包教不包会系列6】注释的技巧

注释

PHP 支持 C,C++ 和 Unix Shell 风格(Perl 风格)的注释

如果你不知道注释的意义,那么请你把你自己没有加任何注释的三个月前的稍微复杂一点的代码翻出来,你能看懂算我输

/* 这是一个块
注释
*/
// 这是行注释
# 这也是一种行注释

注释的一些技巧

1、通过下面的代码,你可以快速的取消或者添加注释

//*
...code...
//*/

此时的状态,中间的代码是生效的,因为块注释优先被行注释给注释掉了,你可以使用编辑器查看颜色变化

而当你需要把中间的代码注释起来时,你可以把第一行的第一个斜杠去掉,那么此时,由于块注释优先开始,所以下面的行注释其实变成了注释内容,这时候,代码被注释了

由此可见,注释的优先级取决于哪种类型的注释先开始

2、HTML 的注释对 PHP 是无效的

利用这一点,我们可以在 HTML 代码中插入一些 HTML 的注释,就像这样
<!-- comment
<?php echo some_function(); ?>
-->

如果你不知道 HTML 的注释有什么意义,那么打开百度地址:http://www.baidu.com,然后按下F12,你会发现百度首页的一个彩蛋,是的,百度的招聘广告,就嵌入在百度首页!

3、PHP 的注释也可以用在其他有用的地方,比如使用工具把注释生成文档,例如phpDocumentor:https://www.phpdoc.org/

关于 PHP 注释生成文档的,其他语言应该也有类似的

这里我推荐使用netbeans的一个原因之一就是,可以快速生成注释,方法是,在函数名字上方写上:
/**

然后回车,一段关于这个函数的注释就会自动生成,其他编辑器也有类似的,就不举例子了

4、注释不会占用时间

你可以尝试着在注释里写上一万个“hello world”,代码运行的速度是一样的,不过我觉得你不会那么无聊

5、行注释里如果含有 ?>,也许 php 脚本会被终止,因为这个是 PHP 的关闭标记,就像这样
//preg_match('/^(?>c|b)at$/', 'cat', $matches);

可能你看不出来这里的问题,拿编辑器试一下,从颜色就可以看出区别,甚至像netbeans还会提示错误

6、一种万能的注释方法:

在概览里,我们讲过了 if 语句(概述),其中有一句我们说过了,使用下面的方式可以很方便把所有代码注释起来,这个方法适用于所有语言

<?php

if (false) {
    ...code...
}

虽然这和注释没有什么关系,但是我经常用这个去测试以及去掉不需要的代码,注意,此时 PHP 其实是会执行一下 if 语句的,如果需要不执行,那你最好还是删除这一整段用于测试的代码

这一讲就到这里

作业

在 sublime 或者 netbeans 里尝试一下上面提到的6种注释的技巧,从颜色或者编辑器错误提示上看一下注释效果


如果喜欢木木的讲解,就点击下方的订阅(读作:打赏),给木木点个赞吧,欢迎大家提出建议或者指正

~风介~ 发表于 2017-2-24 10:58:59

说好的高级特性呢?!{:10_277:}

冷月雨 发表于 2017-2-24 15:24:30

{:10_266:}完全看不懂,因为我不会我还是个零基础

mumudontcry 发表于 2017-2-24 16:04:53

~风介~ 发表于 2017-2-24 10:58
说好的高级特性呢?!

注释。。。没啥高级的吧,一些技巧的东西

mumudontcry 发表于 2017-2-24 16:05:02

冷月雨 发表于 2017-2-24 15:24
完全看不懂,因为我不会我还是个零基础

哪里看不懂
页: [1]
查看完整版本: 【php包教不包会系列6】注释的技巧