分析我们的第一个程序
<?php
echo 'This is my first PHP program.';
第一行代码为
<?php
所有的PHP代码都需要包含在 <?php
和 ?>
之间,第一个为起始标签告诉PHP开始解析,第二个为结束标签告诉PHP停止解析。PHP 也允许使用短标记 <?
和 ?>
,但不鼓励使用。
大家可能会说,你这个代码有问题,没有结束标签。PHP官方解释如下。
如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白。
第二行代码为
echo 'This is my first PHP program.';
其中 echo 作用为输出一个或多个字符串,它不是一个函数,它是一个语言结构,所以没有括号。
PHP 需要在每个语句后用分号;
结束指令。
代码中的单引号''
包起来的部分表示它是一个字符串,当然,也可以用双引号来表示。
如下为使用 echo 输出多个字符串,使用了单双引号。
echo "This", ' ', "is my first PHP program.";
在 echo 中使用双引号时,区别于单引号的时,可以使用变量,或者一些转义字符,如命令行下的换行符等,建立我们的第二个程序 example_02.php ,并在命令行下运行如下命令,原因是\n
换行在命令行下才会换行,在浏览器上并不会换行。
<?php
$name = "Smith";
echo "My name is $name.\nHer name is Mary.\n";
输出的结果如下:
My name is Smith.
Her name is Mary.
小伙伴们可能会想,我如果要输出单引号、双引号怎么办?示例如下。
<?php
echo "She Said \"I'm a Girl\".\n";
echo 'She Said "I\'m a Girl".\n';
输出结果如下:
She Said "I'm a Girl".
She Said "I'm a Girl".\n
我们可以在双引号里用单引号,可以在单引号用双引号。如果要在双引号里用双引号需要用\"
来转义,如果在单引号里用单引号也要用\'
来转义。细心的小伙伴可能注意到结果里有一个\n
,原因很简单,在单引号里的\r
,\n
等特殊的ASCII字符时,不进行任何处理,只是当成字符串。
注释
注释就像说明书,让别人知道你要做什么。注释应该用简短的语言清晰的描述你的意图。下面用一个示例来说明一下。
<?php
/**
* 演示注释的用法(注释一)
*
* @author 波哥
* @date 2017-04-19
* @copyright Copyright(c) 2017
*/
/**
* 取钱(注释一)
*
* @param int $amount 取钱的金额
*
* @return bool
*/
function getMoney($amount) {
/* 取钱不能为负数或者零 (注释三) */
if ($amount <= 0) {
return false;
}
/* 如果钱不够 (注释四) */
if ($exist < $amount) {
return false;
} else {
// 减少该账户现有金额 (注释五)
return true;
}
}
/*
本文件结束
这是多行注释
也是无用注释(注释六)
*/
没有注释的代码是世界上最垃圾的代码。有人说,我写的代码,不需要注释,我都记得。是的,现在你能记住,N年之后呢?如果我们接手别人的代码,一行注释也没有,然后代码量又特别大,我们会是怎么样的心情呢?所以请大家重视注释。
多行注释用 /* */
包裹,单行也可以用 /* */
, 更多的是 //
,也可以用 '#',但不推荐。
- 注释一,为文件或者类注释,告诉大家我这个文件或者类是做什么的。
- 注释二,为方法注释,
@param int $amount 取钱的金额
表示 取钱的金额 只接收整数类型@return bool
表示返回值为布尔类型。 - 注释三、四、五均为单行注释。一般用来说明一下该处代码的意图。
- 注释六,属于无用注释,不需要写。
代码规范
上面的例子里,比如方法名,比如注释,比如缩进,比如if
前面的四个空格,后面的一个空格,这些都是代码规范,好的代码规范给你的感觉就像国庆阅兵的方阵。
好的代码规范会让你很快融入到对方的代码逻辑中。越是多人协作,就越需要统一的代码规范来约束。
UTF8与中文显示支持
从国际化的角度上来讲,我是强烈建议大家用UTF8字符集,很多GBK和GB2312的项目也越来越多的迁移到了UTF8上来。
我们使用Sublime Text 3新建一个example_03.php,输入如下代码
<?php
echo '我的名字叫张三';
保存时编辑器左下角会有如下图所示,可以清晰的看到是UTF8。如果不确定,请文件/File
->Set File Encoding to
->UTF8
Ctrl + B 可以看到没有乱码,可以正常输出。
如果在浏览器里,可能会有乱码出现,如下图:
原因是浏览器不知道以什么字符集来显示,那么我们要明确的告知它以UTF8来显示,在 example_03.php中加上一段html代码。
<?php
echo '<meta charset="utf-8">'; /* 告诉浏览器我们要用utf-8 */
echo '我的名字叫张三';
HTML混编
新建 example_04.php 输入如下内容,并在浏览器中打开
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><?php echo '我是一个HTML与PHP的混合页面'; ?></title>
</head>
<body>
<?php echo '<b>我被加粗了</b>'; ?>
<?php echo '<p>我换行了</p>'; ?>
</body>
</html>
我们可以看到,我们的PHP代码实际上是嵌入在了HTML代码中,最后命名成了example_04.php
。
右键->查看网页源代码
我们也可以把html用PHP来全部输出,如下 example_05.php
,它的结果和 example_04.php
完全一样。
<?php
echo '<!DOCTYPE html>';
echo '<html>';
echo '<head>';
echo '<meta charset="utf-8">';
echo '<title>我是一个HTML与PHP的混合页面</title>';
echo '</head>';
echo '<body>';
echo '<b>我被加粗了</b>';
echo '<p>我换行了</p>';
echo '</body>';
echo '</html>';
动态网站的原理就是PHP、JAVA、.NET等语言把数据获取,组合成HTML代码,输出,然后我们的浏览器解析成我们肉眼看到的精美页面。