經過上期的配置,我們已經有了php的開發環境,編輯器我們繼續使用VScode,如果是新來的朋友可以看這期文章來配置VScode
零基礎學前端-傳統前端開發(第一期-開發軟件介紹與本系列目標)(VScode安裝教程)_vscode啟動前端詳細步驟-CSDN博客
(本系列不過多介紹php的vscode插件,沒有插件也是可以用的,只是打代碼的速度慢一點)
接下來我們來了解php的語法
看過我之前網絡安全-皮卡丘靶場的朋友應該短暫接觸過,所以系列也是,我們玩個大的,我們用網絡安全的角度接入,既可以方便大家了解本系列的php語法,也對不了解網絡安全的朋友拓展一些php防護的重要性
先來看一個php木馬
<?php @eval($_POST['shell']); ?>
詳細介紹木馬可以看以下文章(只是拓展,不看也不影響下面內容的了解)
零基礎在實踐中學習網絡安全-皮卡丘靶場(第九期-Unsafe Fileupload模塊)(yakit方式)_yakit web文件上傳-CSDN博客
首先可以看到php開始的位置是<?php,結尾是?>,文件后綴為.php
這就是php的結構
<?php
// PHP 代碼
?>
以<?php打頭,?>結尾這就是php的語法結構,我們要了解的是就是中間的內容(注意每段完成后以;結尾)
我們先來看一個示例
<!DOCTYPE html>
<html>
<body><h1>PHP</h1><?php
echo "Hello World!";
?></body>
</html>
是不是很像html格式
(若想了解看以下文章,不看也不要緊,只是拓展)
零基礎學前端-傳統前端開發(第二期-HTML介紹與應用)(XSS防御)-CSDN博客
我們來看一個html文件
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body></body></html>
很明顯多多少少還是有差別的
為什么呢
這時候我們就要了解一些歷史
PHP 最初(1994 年由 Rasmus Lerdorf 設計)就是為了動態生成 HTML 頁面而生的。它的語法被設計為可以直接嵌入到 HTML 中,通過特殊的標記(如?<?php ... ?>
)區分服務器端代碼和靜態 HTML。
看不懂就看下面通俗點的
以cosplay為例
想象一個Coser(比如扮演初音未來):
她穿著藍色雙馬尾假發、短裙、長靴——這些一眼就能看到的服裝,就是HTML。
無論誰來拍照,看到的都是這套固定造型,不會變(就像靜態網頁)。
而扮演刺客信條的"大流士"就像php
它手里面的袖劍平時可以隱藏起來(PHP在服務器端運行),用的時候突然彈出來(比如生成不同的HTML內容)
所以
HTML = 定妝照里的 Cosplayer,靜態、美就完事;
PHP = 藏在 Cosplayer 衣服里的袖劍,只在(標簽)打開時才現身搞動態特效。
所以我們還可以知道后綴換成php,我們可以直接在html文件里加php內容(注意:必須后綴為php的情況下html里php的內容才能顯示)
接下來我們像html一樣用瀏覽器打開看看
可以看到直接是文件內容而不是運行后的內容
但是為什么html就可以直接打開呢
還是因為HTML 是靜態文件,PHP 是動態腳本,需要“翻譯”才能變成瀏覽器能看懂的東西。
所以我們就要用服務器運行它才行,可以運行它的軟件有很多,比如XAMPP,亦或者之前網絡安全搭建皮卡丘靶場的時候我們用的phpstudy
但是我們接下來只用php內置的服務器來,首先,直接用內置服務器不用多余了解其它東西,方便不了解的朋友了解php很簡潔,其次用先內置服務器,之后用其它軟件時,出問題也好解決,至少知道問題(注:內置服務器只能單個啟動,無法直接啟動整個文件夾的業務,只適合學習)
那么怎么啟動呢
首先,在包含有我們新建php文件的文件夾中打開cmd
然后輸入
php?-S localhost:8000
(有問題就換端口,說明端口被占用了,而且記住url欄里加入php文件名稱)
可以看到成功了
至此,我們了解了php的結構語法,接下來的內容就是對php"中間"的了解了,如有問題歡迎大家指正