PHP的基本寫法
首先,我們看一下最基本的PHP長什麼樣子
開一個新檔案,貼上下面的內容
<?php
echo "Hello World";
再把這個檔案儲存成hello.php
雖然內容只有短短2行,但是包含了一些PHP最基本的知識
PHP程式的副檔名一律為
.php
「.php
檔案」內可以是純PHP、純HTML或是HTML+PHP
但純HTML的.php
檔的內容跑起來就跟直接存成.html
檔一樣PHP的程式碼必須放在起始標記符號「
<?php
」和結束標記符號「?>
」之間
你可能有發現上面的程式碼並沒有結束標記符號「?>
」,這是因為官方建議如果檔案中純粹只有PHP語法,沒有HTML語法,那麼就不建議加上「?>
」,這是為了避免在「?>
」之後不小心加入空格或是換行符號,導致PHP輸出這些空白,進而在某些特定的狀況下產生ErrorPHP中的「
echo
」
上面程式碼中第二行的echo
是PHP用來輸出資料的語言結構(不是函數),而另一個和echo
很相似的語法是print()
,print()
也是PHP的語言結構,並不是真正的函數,用法基本上與echo
一模一樣,只差在print()
在輸出之後成功會回傳true,失敗會回傳falsePHP程式的結尾符號「;」
和其他大多數程式語言一樣,每一句PHP的最後都必須加上分號,相當於中文的句號,用來告訴電腦這一句話結束了
第一個PHP程式!
首先,什麼都不用做,把下面這些程式碼複製起來,存成「first.php
」,並且開啟Server,利用對用相對的url去存取first.php
<!DOCTYPE html>
<html>
<head>
<title>Hello World & Time</title>
</head>
<body>
<?php
//print Hello world and now time
echo "Hello World ,Now Time:".date("Y-m-d H:i:s");
?>
</body>
</html>
可以看到執行結果會類似以下(時間會不一樣)
Hello World ,Now Time:2017-11-06 18:35:19
解釋一下上面的程式碼
由於PHP是跟HTML混雜著寫,所以PHP程式碼的範圍必須在前後各加上「<?php
」與「?>
」
這樣PHP的compiler才會知道該區域需要去編譯與執行
另外,date()
是一個函數,而“Y-m-d H:i:s”
是傳遞給函數的參數,用來指定要顯示日期的格式
函數的部分後面會介紹到,這邊就先不贅述,只要知道date()
是一個函數,是用來顯示時間與日期的就可以了
最後,眼睛精明的人可能有發現到date()
前面有一個「.」
,這個點是「字串運算符號」,是用來把前後的字串連接起來變成一個字串,最後再交給echo
輸出
PHP註解
我們在寫程式當下思路是很清楚的,但人腦不是電腦,記憶力有限,過了一段時間再回來看當初所寫的同一段程式碼,可能會忘記那時的邏輯是什麼、為什麼要這麼寫等等,這時候就需要靠註解來提醒你某一段程式碼所代表的意義了
在寫程式時養成加上著加上註解的好習慣,有助於在日後回來看程式碼時能快速了解與閱讀程式或是除錯
而註解只有在PHP原始碼上才看得到,執行時或是執行後的結果都是看不到的
而PHP的註解要寫在「<?php
」與「?>
」所形成的PHP程式碼區域內,不能寫在HTML的程式碼區域內
- 單行註解
單行註解是以
「//」
或是「#」
開頭,後面接的整行文字都是都是註解文字,但註解文字不能換行
<?php
//這是單行註解
#這也是單行註解
echo "測試單行註解";
?>
- 多行註解
多行註解是用
「/*註解文字*/」
把註解文字包起來,這邊的註解文字可以跨行,適合在較多說明文字時使用
<?php
/*這是多行註解
所以我可以換行註解*/
echo "測試多行註解";
?>
PHP命名規則
在撰寫程式時,時常需要替變數、常數、類別或函數命名
而變數命名好壞非常重要,恰當的命名可以大幅增加程式碼的可讀性
在PHP中的命名有一些規則
常數、類別、函數都不可以使用PHP內所定義的「關鍵字(keyword)」來命名
由於變數前面固定都會有「$」,所以變數名稱可以使用關鍵字來命名,但基本上不推薦這樣做名稱的開頭必須為
英文字母(A-Z & a-z)
底線(_)
後面可以接長度不限的英文字母、數字或是底線
名稱區分大小寫
Ex. Hello、hello、HELLO 是不同的名稱PHP變數在同一個的「變數作用域(Scope)」中,必須是唯一的(不能出現同樣名稱的變數)
簡單來說,在同樣的變數作用域中,函數名稱、常數名稱、變數名稱不可以完全相同
PHP 資訊頁 - phpinfo
phpinfo()
是 PHP 內建的函數,用來讓程式設計師查看系統上所安裝的PHP的相關資訊(系統組態資訊)
例如
- PHP 的版本(PHP version)
- 服器訊息(server information)
- 伺服器環境(environment)
- 設定作業系統版本資訊(OS version information)
- PHP許可證(PHP License)
- http 標頭(HTTP headers)
都能使用phpinfo()
來檢查,該函數是個非常重要的工具
要使用該函數來查看PHP的系統相關資訊,只要在一個空白的php file內輸入
<?php
//會列出php的相關資訊
phpinfo();
?>
然後執行,就可以直接輸出伺服器上的 PHP 詳細系統資訊,舉例來說如下圖
由於各系統設定不同,如果沒有成功顯示內容,可以試試看在phpinfo()
前面加上echo
<?php
//如果上面的方式沒成功,可以加上會echo
echo phpinfo();
?>
但為了安全起見,不建議在伺服器上放置這個語法或檔案,以避免你的系統資訊外洩
通常在獲得需要的資訊之後,PHP 工程師會直接把 phpinfo 檔案從伺服器上刪除