波哥教你學PHP7之二:分析我們的第一個程序語法谦疾、注釋南蹂、代碼規(guī)范、UTF8與中文顯示支持念恍、HTML混編

分析我們的第一個程序

<?php
    echo 'This is my first PHP program.';

第一行代碼為

<?php

所有的PHP代碼都需要包含在 <?php?> 之間六剥,第一個為起始標簽告訴PHP開始解析,第二個為結(jié)束標簽告訴PHP停止解析峰伙。PHP 也允許使用短標記 <??>疗疟,但不鼓勵使用。

大家可能會說瞳氓,你這個代碼有問題策彤,沒有結(jié)束標簽。PHP官方解釋如下匣摘。

如果文件內(nèi)容是純 PHP 代碼店诗,最好在文件末尾刪除 PHP 結(jié)束標記。這可以避免在 PHP 結(jié)束標記之后萬一意外加入了空格或者換行符音榜,會導致 PHP 開始輸出這些空白庞瘸。

第二行代碼為

    echo 'This is my first PHP program.';

其中 echo 作用為輸出一個或多個字符串,它不是一個函數(shù)赠叼,它是一個語言結(jié)構(gòu)擦囊,所以沒有括號违霞。
PHP 需要在每個語句后用分號;結(jié)束指令。
代碼中的單引號''包起來的部分表示它是一個字符串瞬场,當然买鸽,也可以用雙引號來表示。
如下為使用 echo 輸出多個字符串贯被,使用了單雙引號眼五。

    echo "This", ' ', "is my first PHP program.";

在 echo 中使用雙引號時,區(qū)別于單引號的時刃榨,可以使用變量弹砚,或者一些轉(zhuǎn)義字符双仍,如命令行下的換行符等枢希,建立我們的第二個程序 example_02.php ,并在命令行下運行如下命令朱沃,原因是\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)義坯门。細心的小伙伴可能注意到結(jié)果里有一個\n,原因很簡單逗扒,在單引號里的\r,\n等特殊的ASCII字符時古戴,不進行任何處理,只是當成字符串矩肩。

注釋

注釋就像說明書现恼,讓別人知道你要做什么。注釋應該用簡短的語言清晰的描述你的意圖黍檩。下面用一個示例來說明一下叉袍。

<?php
/**
 * 演示注釋的用法(注釋一)
 *
 * @author      波哥
 * @date        2017-04-19
 * @copyright   Copyright(c) 2017
 */

/**
 * 取錢(注釋一)
 *
 * @param   int     $amount     取錢的金額
 *
 * @return  bool
 */
function getMoney($amount) {
    /* 取錢不能為負數(shù)或者零 (注釋三) */
    if ($amount <= 0) {
        return false;
    }

    /* 如果錢不夠 (注釋四) */
    if ($exist < $amount) {
        return false;
    } else {
        // 減少該賬戶現(xiàn)有金額  (注釋五) 
        return true;
    }
}

/*
本文件結(jié)束
這是多行注釋
也是無用注釋(注釋六)
*/

沒有注釋的代碼是世界上最垃圾的代碼。有人說刽酱,我寫的代碼喳逛,不需要注釋,我都記得肛跌。是的艺配,現(xiàn)在你能記住察郁,N年之后呢?如果我們接手別人的代碼转唉,一行注釋也沒有皮钠,然后代碼量又特別大,我們會是怎么樣的心情呢赠法?所以請大家重視注釋麦轰。

多行注釋用 /* */ 包裹,單行也可以用 /* */, 更多的是 //砖织,也可以用 '#'款侵,但不推薦。

  1. 注釋一侧纯,為文件或者類注釋新锈,告訴大家我這個文件或者類是做什么的。
  2. 注釋二眶熬,為方法注釋妹笆,@param int $amount 取錢的金額表示 取錢的金額 只接收整數(shù)類型 @return bool表示返回值為布爾類型。
  3. 注釋三娜氏、四拳缠、五均為單行注釋。一般用來說明一下該處代碼的意圖贸弥。
  4. 注釋六窟坐,屬于無用注釋,不需要寫绵疲。

代碼規(guī)范

上面的例子里哲鸳,比如方法名,比如注釋最岗,比如縮進帕胆,比如if前面的四個空格,后面的一個空格般渡,這些都是代碼規(guī)范懒豹,好的代碼規(guī)范給你的感覺就像國慶閱兵的方陣。

好的代碼規(guī)范會讓你很快融入到對方的代碼邏輯中驯用。越是多人協(xié)作脸秽,就越需要統(tǒng)一的代碼規(guī)范來約束。

UTF8與中文顯示支持

從國際化的角度上來講蝴乔,我是強烈建議大家用UTF8字符集记餐,很多GBK和GB2312的項目也越來越多的遷移到了UTF8上來。

我們使用Sublime Text 3新建一個example_03.php薇正,輸入如下代碼

<?php
    echo '我的名字叫張三';

保存時編輯器左下角會有如下圖所示片酝,可以清晰的看到是UTF8囚衔。如果不確定,請文件/File->Set File Encoding to->UTF8

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代碼實際上是嵌入在了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>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市趁尼,隨后出現(xiàn)的幾起案子埃碱,更是在濱河造成了極大的恐慌,老刑警劉巖酥泞,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砚殿,死亡現(xiàn)場離奇詭異,居然都是意外死亡芝囤,警方通過查閱死者的電腦和手機似炎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悯姊,“玉大人羡藐,你說我怎么就攤上這事∶跣恚” “怎么了仆嗦?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長先壕。 經(jīng)常有香客問我瘩扼,道長谆甜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任集绰,我火速辦了婚禮店印,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘倒慧。我一直安慰自己按摘,他們只是感情好,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布纫谅。 她就那樣靜靜地躺著炫贤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪付秕。 梳的紋絲不亂的頭發(fā)上兰珍,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音询吴,去河邊找鬼掠河。 笑死,一個胖子當著我的面吹牛猛计,可吹牛的內(nèi)容都是我干的唠摹。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼奉瘤,長吁一口氣:“原來是場噩夢啊……” “哼勾拉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起盗温,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤藕赞,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后卖局,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體斧蜕,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年砚偶,在試婚紗的時候發(fā)現(xiàn)自己被綠了批销。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡蟹演,死狀恐怖风钻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情酒请,我是刑警寧澤骡技,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響布朦,放射性物質(zhì)發(fā)生泄漏囤萤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一是趴、第九天 我趴在偏房一處隱蔽的房頂上張望涛舍。 院中可真熱鬧,春花似錦唆途、人聲如沸富雅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽没佑。三九已至,卻和暖如春温赔,著一層夾襖步出監(jiān)牢的瞬間蛤奢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工陶贼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留啤贩,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓拜秧,卻偏偏與公主長得像痹屹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子腹纳,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理痢掠,服務發(fā)現(xiàn),斷路器嘲恍,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 一、php可以做什么 php是一種可以在服務器端運行的編程語言雄驹,可以運行在Web服務器端佃牛。 php是一門后臺編程語...
    空谷悠閱讀 3,086評論 4 97
  • 之前積累了XSS 有一段時間,因為目前開始了一件有趣的工程医舆,需要整合非常多的知識俘侠,其中Web 安全這一塊出現(xiàn)最多的...
    刀背藏身閱讀 9,033評論 0 16
  • 起風了 吹起起沙塵 迷了眼 揉著揉著就揉出了淚 沉默 沉默 …… "what are you doing?" 請在...
    狗狗我的獨家記憶閱讀 393評論 1 3
  • 小時候我特別喜歡狗,家里還曾經(jīng)養(yǎng)過一條叫小黑的狗蔬将,每天我放學的時候都會跑到村里的學校門口等我爷速,叼著我的書包,...
    7c5489ad8902閱讀 670評論 0 1