起步 - 代碼怎么寫 ?
作者:KK
發表日期:2016.3.9
要寫PHP代碼就需要建立.php后綴的文件,并且在文件里要以<?php 具體代碼 ?>這樣的形式來書寫PHP代碼
我們在網站目錄下新建一個叫index.php的文件,并在里面編寫這樣的代碼:
echo 'Hello World!';
?>
然后用瀏覽器訪問 http://localhost/index.php 這個網址,網頁上就會顯示"Hello World!"這句話
上面的代碼是將<?php (PHP代碼的開始標簽)和?>(結束標簽)分開兩行寫了,中間寫的echo那句代碼就是PHP代碼,也可以全部寫在一行,但是要有空格,比如<?php echo 'Hello World'; ?>
PHP標簽之外可以寫其它東西 ?
以下代碼去運行就會顯示"Hi,Jay!How are you?"
Hi,<?php echo 'Jay!' ?>How are you?;
其實PHP引擎將<?php標簽里面的代碼加載后 ,執行了代碼里面的echo 'Jay!'代碼,這個代碼會輸出指定的字符串,所以最終得到了"Jay!",與PHP標簽外面的"Hi!"拼起來就成為了"Hi!Jay!"
那PHP的結束標簽后面還有"How are you?"這個字符串其實也是普通文本,于是也拼了上去
注意標簽外面的"Hi!"和"How are you?"并不屬于PHP代碼的范圍,它們只是普通的文本,跟PHP沒有一丁點關系,所以你怎么書寫那些內容完全不會影響PHP的運行,而通常PHP標簽代碼里面的所有運行代碼結果最終也是轉換成這樣的東西和普通的文本混合在一起
有時候不需要結束標簽 ?
上例中是在PHP標簽前面加其它東西,而PHP標簽后面其實也可以加東西,接下來試試
Hi,<?php
echo 'Jay!';
這樣就會顯示"Hi,Jay!",以上代碼并不包含?>這個PHP標簽的結束部分,這也是可以正常運行的,因為PHP代碼的后面沒有其它要輸出的普通文本了
當后面需要輸出其它普通文本時,就需要書寫結束標簽說明PHP代碼到此為止,再寫普通文本
可以在文本中嵌入多個PHP標簽 ?
來來來
ABCD<?php echo 'EFG,'; ?>HIJK<?php echo 'LMN,'; ?>OPQ,<?php echo 'RST';
結果就是"ABCDEFG,HIJKLMN,OPQ,RST",這就是嵌入多個PHP標簽來輸出多個文本,但最后一個PHP標簽后面由于沒有普通文本了,所以不需要聲明?>來結束PHP,引擎會自動識別
不過你寫了結束標簽也不會出錯,聽我說,能不寫就不寫,不然你會踩坑的!但現在不解釋
而以后我的演示代碼如果只是純的PHP代碼,我就不會再書寫PHP標簽了,比如下面這樣的代碼
echo 'abc';
我就會直接這樣寫:
echo 'abc';
除非標簽以外有別的東西
如果有混合,通常都是混合HTML ?
PHP標簽外面可以寫其它東西,以我多年來的工作經驗所見,一般有的情況下98%都是寫HTML代碼,但也可以寫其它,這個未來你就懂,下面看看
$style = 0;
if(!empty($_GET['style']) && in_array($_GET['style'], [0, 1])){
$style = $_GET['style'];
}
?>
現在的時間是:<?php echo date('Y-m-d H:i:s'); ?>
正在使用<?php $genders = ['男生', '女生']; echo $genders[$style] ?>風格
這里不是要研究代碼的含義,只是看看PHP和HTML代碼混合工作的效果,對于index.php來說,它只關注<?php ... ?>這個標簽里的內容,加載進引擎并運行解析,標簽以外的是什么內容它不管
然后最終這些內容全部變成了一片文本內容后傳到了瀏覽器,這回瀏覽器可就肯定會關心HTML代碼咯,于是就呈現了效果
但是瀏覽器并不知道PHP代碼,不信你看看網頁瀏覽器里的查看源代碼視圖,你會發現第1個div里面的內容直接就是類似"現在的時間是2012年12月12日 12:12:12"這樣的東西,并不能看到<?php echo date('Y-m-d H:i:s'); ?>這句代碼
因為index.php里的PHP代碼在發給瀏覽器之前就已經被處理掉了,你可以理解為"內容替換",PHP腳本代碼被替換成了最終的PHP輸出結果
查看PHP的信息 ?
很簡單一句代碼:phpinfo(); 就會輸出如下圖這樣的PHP信息,里面說明了PHP的版本,程序各部分相關的路徑,配置文件等信息,以后我們會需要查看這些信息的,別忘了有這個東西哦!有時候你在網上提出一些問題時,別人可能會在幫你想解決方案的時候說“麻煩看看你的phpinfo”就是指這個輸出結果的內容了