領導說PHP已經過時了, 讓我滾! !
點選載入圖片
作為一名程式設計師,我們應該都聽過這樣一個梗:
PHP
程式語言,是世界上最好用的程式語言~~~但是今天領導讓我滾,我不服氣寫下了這篇PHP入門基礎吊打領導。
PHP介紹
PHP又名超文字預處理器,是一種通用開源指令碼語言。PHP主要適用於Web開發領域,語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛。其獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的程式語言相比,PHP是將程式嵌入到HTML文件中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和最佳化程式碼執行,使程式碼執行更快。
瞭解了PHP的基本概念後,下面分享PHP的基礎知識,希望對PHP學習有所幫助~
一、PHP網頁基礎
一、靜態網站&動態網站
靜態網站:(純HTML頁面,頁面固定,不會變化),沒有與後臺伺服器的互動,沒有資料庫的支援。
動態網站:(可以根據互動情況動態顯示不同內容),需要與後臺伺服器進行資料互動,需要資料庫的支援。
二、支援動態網站的語言
Java—JSP
PHP——PHP
asp——asp
三、常見的伺服器
Apache:Apache公司旗下伺服器,用於解析PHP類網站
Tomcat:Apache公司旗下的另一款伺服器,用於解析JSP類的網站;
四、常見的資料庫
mysql,Access,Oracle,SQLServer……
我們PHP一般匹配MySQL使用。當然,PHP可以連線幾乎所有的主流資料庫。
五、B/S C/S
B/S:瀏覽器/伺服器結構。使用者只需要透過瀏覽器即可訪問的網站。大部分操作功能集中在後臺伺服器。
C/S:客戶端/伺服器結構。使用者需要安裝客戶端使用的程式。客戶端可以分擔一定的操作功能。
六、常見的開發PHP整合環境
安裝一個軟體,內建多種開發需要的軟體或語言環境
Wamp:windows+Apache+mysql+PHP
Lamp:Linux+Apache+mysql+PHP
PHPStudy:
APPServer:
注:PHP開發首選Linux系統,但是PHP能夠友好的相容各種作業系統。
(Windows, Linux, Unix, MacOS……)
二、PHP入門基礎
PHP中“+“只有運算功能,沒有連線功能。連線功能用”。”連線。
一PHP標記的種類
PHP檔案中,如果要使用PHP語法,必須要將php語言放到標記當中。PHP支援如下四種標記方式:
①
這是PHP官方推薦的寫法,也是我們主要採用的寫法!這種標籤可以插入到HTML文件的任意位置;
注:如果頁面中,只有PHP語言,推薦省略結束表示’?>’。
原因:如果包含結束符號,在匯入PHP檔案時,可能會將檔案最後的多餘換行匯入進來。
②
長標記寫法。這種寫法,總是可以使用,但是我們不推薦。
③ ?>
短標記風格。預設不開啟,需要修改php。ini檔案中“short_open_tag = On”開啟。
但是,由於和XML中的標記衝突,不推薦使用。
④
ASA風格。預設不開啟,需要修改php。ini檔案中“asp_tags = On”開啟。但是,由於和ASP,JSP中的標記衝突,不推薦使用。
二、PHP中的指令分隔符
1、PHP中的“結構定義語句”(分支,迴圈,類,函式等{}結尾),不需要使用分號結尾。
2、PHP中的“功能執行語句”,不用{}結尾的,必須使用分號結尾。
3、特例:最後結束標籤?>前的最後一條語句,可以省略分號。
三、PHP中的變數
1、PHP中的變數,宣告與使用,必須用開頭。 2、PHP是一種弱型別語言,變數其實並不需要宣告,可以直接給變數賦任何型別的 3、PHP中可以使用連等同時宣告多個變數,而不能使用逗號分隔;eg:開頭。2、PHP是一種弱型別語言,變數其實並不需要宣告,可以直接給變數賦任何型別的3、PHP中可以使用連等同時宣告多個變數,而不能使用逗號分隔;eg:num1 = $num2 = num3 = 5; 4、常用變數函式: unset;刪除並釋放變數; isset;檢驗變數是否設定; empty;檢驗變數是否為空(未設定或值為null都算空); 5、變數的命名:只能由數字,字母,下劃線組成,開頭不能是數字。而且,PHP中變數區分大小寫!num3=5;4、常用變數函式:unset;刪除並釋放變數;isset;檢驗變數是否設定;empty;檢驗變數是否為空(未設定或值為null都算空);5、變數的命名:只能由數字,字母,下劃線組成,開頭不能是數字。而且,PHP中變數區分大小寫!name $Name $NAME 都是不同變數!但是,PHP內建函式或類名不區分大小寫!echo EcHo 都是有效的!
6、PHP中的資料型別(8種)
4種標量型別:
布林型
Boolean
整型
Integer
浮點型
Float/Double
字串
String
2種複合型別:
陣列
Array
物件
Object
2種特殊型別:
資源
Resource
空
null
7、整型的範圍:-231~(231-1),超過這個範圍,自動轉為浮點型
四、PHP中算false的情況
1、Boolan false
2、整形 0
3、浮點型 0。0
4、字串“” “0” (“0。0” “000” 都算對!只有一個0算錯!)
5、空陣列
6、空物件 僅在PHP4算false。其他版本,物件都算true。
7、null和尚未定義的變數;
8、所有資源都算對!(除PHP4,所有物件都算對!!!)
五、PHP中字串的宣告
PHP支援三種方式宣告字串:
1、’’:
2、“”:
3、<<
$str = <<
//定界符宣告字串,透過<<
//遇到頂格的定界識別符號結束!!一個空格都不能有!!
//定界識別符號可以是任意字母,只需要保證開始和結束一致即可!
s;(頂格的定界識別符號)
4、三種宣告方式的區別:
①定界符功能,預設與雙引號相同。(但是定界符中可以放雙引號)
②單引號中,不能解析變數,而雙引號、定界符都可以解析變數。
注:雙引號解析變數時,需注意變數名後需用“hahaha{KaTeX parse error: Expected ‘EOF’, got ‘}’ at position 4: num}̲hahaha” “hahaha{num}hahaha”均可!
③單引號中可以放雙引號,雙引號中可以放單引號。但是不能放自身相同型別的引號。
④單引號中不能使用跳脫字元(除了單引號’‘本身,轉義符\本身),雙引號中可以使用跳脫字元。
六、PHP中的偽型別
偽型別:並不是一種真實存在的資料型別。它的存在,僅僅是告訴程式設計師可以是哪種,哪些資料型別,常用於撰寫幫助文件時使用。
mixed:代表引數可以是多種不同資料型別。
Number:代表引數可以是Integer或者Float。
callback:代表引數可以是一個回撥函式。
七、PHP中的資料型別轉換
1、自動型別轉換:表示運算的時候,Boolean,Null,String等型別,會先自動轉為Integer或Float型別
null–>0
true–>1
false–>0
String轉非數值字元前的數字,
沒有的話轉為0 “123a”–>123 “a123”–>0
2、強制型別轉換:根據我們的需要,強制將變數轉為其他型別的變數。
新變數 = (新型別)新變數=(新型別)原變數; $str = (String)1;
//新型別,可以使用全拼,也可以使用縮寫。Integer/int Boolean/bool都行。
可以強制轉換的型別如下:
①使用宣告新型別強轉:
(int),(integer)
轉換成整型
(bool),(boolean)
轉換成布林型
(float),(double),(real)
轉換成浮點型
(string)
轉換成字串
(array)
轉換成陣列
(object)
轉換成物件
②使用setType;函式強轉:
bool setType(mixed var,String type);第一個引數表示任何型別的變數,第二個引數表示字串型別的資料型別,返回Boolean結果。
③兩種轉換的區別:
第①種:是將轉換之後的結果,賦給新變數;
第②種:直接修改了原變數的資料型別。
八、PHP中判斷型別
is_bool
判斷是否是布林型
is_int、is_integer和is_long
判斷是否為整型。
is_float、is_double和is_real
判斷是否為浮點型
is_string
判斷是否為字串
is_array
判斷是否為陣列
is_object
判斷是否為物件
is_resource
判斷是否為資源型別
is_null
判斷是否為null
is_scalar
判斷是否為標量
is_numeric
判斷是否是任何型別的數字和數字字串
is_callable
判斷是否是有效的函式名
九、PHP中的輸出語句
echo “……”
輸出變數的值
var_dump(num)
輸出變數的資料型別&值[&一些其他資訊]
print_r(arr)
專門用於列印陣列
//單行註釋/*
* 多行註釋
*//**
* 文件註釋
*/
三、指令碼註釋
#echo“①形式”;
十、PHP中的常量
1、常量的定義:bool define(String 常量名,mixed 常量值[,bool 是否區分大小寫]);2、常量的注意事項:
①常量定義,只能使用define函式;
②常量名,原則上要求必須使用大寫宣告。而且必須不能帶符號(符號(只能是變數);
③常量宣告以後,預設全域性範圍有效。沒有作用域之說。
④常量不但不能改,而且不能刪!unset,setType等函式均無效
⑤常量預設區分大小寫!!!但是,可以在宣告常量時,將define第三個引數設為true,即可改為不區分大小寫。
⑥常量必須使用define定義後才能使用。如果使用未宣告常量,則預設轉為常量字串。但是,會有警告。
var_dump(NUM);–>String “NUM”
⑦常量的值只能是標量Boolean String Float Integer
3、可以使用echo constant(“NUM”);讀取常量值!注意!!!
可以使用get_defined_constants,獲取所有已定義的常量!!包括系統自定義的N多個常量。
我是一名滲透測試工程師,為了感謝讀者們,我想把我收藏的一些網路安全/滲透測試學習乾貨貢獻給大家,回饋每一個讀者,希望能幫到你們。
乾貨主要有:
①2000多本網安必看電子書(主流和經典的書籍應該都有了)
②PHP標準庫資料(最全中文版)
③網路安全基礎入門、Linux運維,web安全、滲透測試方面的影片(適合小白學習)
④ 網路安全學習路線圖(告別不入流的學習)
⑤ 滲透測試工具大全
⑥ 2021網路安全/Web安全/滲透測試工程師面試手冊大全
相關文章
- 2021-09-16每年十萬兒童因甲醛染病,專家:2樣日用品是“元兇”,儘快扔
- 2021-09-15夏天該給孩子睡涼蓆嗎?選錯涼蓆不但長痱子,還會刺激孩子肌膚
- 2021-06-13被“復古風”穿搭圈粉了,時髦優雅,還很顯氣質,賺足回頭率
- 2021-05-15嗑糖、炫技、掉馬甲,電競劇還能走多遠?
- 2021-04-25玩家掉下巴的程度,雷佳音真是壞的很,確定是養成類遊戲?