分析我們的第一個程序
<?php
echo 'This is my first PHP program.';
第一行代碼為
<?php
所有的PHP代碼都需要包含在 <?php
和 ?>
之間,第一個為起始標(biāo)簽告訴PHP開始解析,第二個為結(jié)束標(biāo)簽告訴PHP停止解析。PHP 也允許使用短標(biāo)記 <?
和 ?>
,但不鼓勵使用。
大家可能會說,你這個代碼有問題,沒有結(jié)束標(biāo)簽。PHP官方解釋如下。
如果文件內(nèi)容是純 PHP 代碼,最好在文件末尾刪除 PHP 結(jié)束標(biāo)記。這可以避免在 PHP 結(jié)束標(biāo)記之后萬一意外加入了空格或者換行符,會導(dǎo)致 PHP 開始輸出這些空白。
第二行代碼為
echo 'This is my first PHP program.';
其中 echo 作用為輸出一個或多個字符串,它不是一個函數(shù),它是一個語言結(jié)構(gòu),所以沒有括號。
PHP 需要在每個語句后用分號;
結(jié)束指令。
代碼中的單引號''
包起來的部分表示它是一個字符串,當(dāng)然,也可以用雙引號來表示。
如下為使用 echo 輸出多個字符串,使用了單雙引號。
echo "This", ' ', "is my first PHP program.";
在 echo 中使用雙引號時(shí),區(qū)別于單引號的時(shí),可以使用變量,或者一些轉(zhuǎn)義字符,如命令行下的換行符等,建立我們的第二個程序 example_02.php ,并在命令行下運(yùn)行如下命令,原因是\n
換行在命令行下才會換行,在瀏覽器上并不會換行。
<?php
$name = "Smith";
echo "My name is $name.\nHer name is Mary.\n";
輸出的結(jié)果如下:
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';
輸出結(jié)果如下:
She Said "I'm a Girl".
She Said "I'm a Girl".\n
我們可以在雙引號里用單引號,可以在單引號用雙引號。如果要在雙引號里用雙引號需要用\"
來轉(zhuǎn)義,如果在單引號里用單引號也要用\'
來轉(zhuǎn)義。細(xì)心的小伙伴可能注意到結(jié)果里有一個\n
,原因很簡單,在單引號里的\r
,\n
等特殊的ASCII字符時(shí),不進(jìn)行任何處理,只是當(dāng)成字符串。
注釋
注釋就像說明書,讓別人知道你要做什么。注釋應(yīng)該用簡短的語言清晰的描述你的意圖。下面用一個示例來說明一下。
<?php
/**
* 演示注釋的用法(注釋一)
*
* @author 波哥
* @date 2017-04-19
* @copyright Copyright(c) 2017
*/
/**
* 取錢(注釋一)
*
* @param int $amount 取錢的金額
*
* @return bool
*/
function getMoney($amount) {
/* 取錢不能為負(fù)數(shù)或者零 (注釋三) */
if ($amount <= 0) {
return false;
}
/* 如果錢不夠 (注釋四) */
if ($exist < $amount) {
return false;
} else {
// 減少該賬戶現(xiàn)有金額 (注釋五)
return true;
}
}
/*
本文件結(jié)束
這是多行注釋
也是無用注釋(注釋六)
*/
沒有注釋的代碼是世界上最垃圾的代碼。有人說,我寫的代碼,不需要注釋,我都記得。是的,現(xiàn)在你能記住,N年之后呢?如果我們接手別人的代碼,一行注釋也沒有,然后代碼量又特別大,我們會是怎么樣的心情呢?所以請大家重視注釋。
多行注釋用 /* */
包裹,單行也可以用 /* */
, 更多的是 //
,也可以用 '#',但不推薦。
- 注釋一,為文件或者類注釋,告訴大家我這個文件或者類是做什么的。
- 注釋二,為方法注釋,
@param int $amount 取錢的金額
表示 取錢的金額 只接收整數(shù)類型@return bool
表示返回值為布爾類型。 - 注釋三、四、五均為單行注釋。一般用來說明一下該處代碼的意圖。
- 注釋六,屬于無用注釋,不需要寫。
代碼規(guī)范
上面的例子里,比如方法名,比如注釋,比如縮進(jìn),比如if
前面的四個空格,后面的一個空格,這些都是代碼規(guī)范,好的代碼規(guī)范給你的感覺就像國慶閱兵的方陣。
好的代碼規(guī)范會讓你很快融入到對方的代碼邏輯中。越是多人協(xié)作,就越需要統(tǒng)一的代碼規(guī)范來約束。
UTF8與中文顯示支持
從國際化的角度上來講,我是強(qiáng)烈建議大家用UTF8字符集,很多GBK和GB2312的項(xiàng)目也越來越多的遷移到了UTF8上來。
我們使用Sublime Text 3新建一個example_03.php,輸入如下代碼
<?php
echo '我的名字叫張三';
保存時(shí)編輯器左下角會有如下圖所示,可以清晰的看到是UTF8。如果不確定,請文件/File
->Set File Encoding to
->UTF8
Ctrl + B 可以看到?jīng)]有亂碼,可以正常輸出。
如果在瀏覽器里,可能會有亂碼出現(xiàn),如下圖:
原因是瀏覽器不知道以什么字符集來顯示,那么我們要明確的告知它以UTF8來顯示,在 example_03.php中加上一段html代碼。
<?php
echo '<meta charset="utf-8">'; /* 告訴瀏覽器我們要用utf-8 */
echo '我的名字叫張三';
HTML混編
新建 example_04.php 輸入如下內(nèi)容,并在瀏覽器中打開
<!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代碼實(shí)際上是嵌入在了HTML代碼中,最后命名成了example_04.php
。
右鍵->查看網(wǎng)頁源代碼
我們也可以把html用PHP來全部輸出,如下 example_05.php
,它的結(jié)果和 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>';
動態(tài)網(wǎng)站的原理就是PHP、JAVA、.NET等語言把數(shù)據(jù)獲取,組合成HTML代碼,輸出,然后我們的瀏覽器解析成我們?nèi)庋劭吹降木理撁妗?/p>