-
PHP類和對象之構造函數和析構函數
在子類中如果定義了__construct則不會調用父類的__construct,如果需要同時調用父類的構造函數,需要使用parent::__construct()顯式的調用。
查看全部 -
PHP類和對象之定義類的方法
使用關鍵字static修飾的,稱之為靜態方法,靜態方法不需要實例化對象,可以通過類名直接調用,操作符為雙冒號::。
調用靜態屬性需要加$符號
查看全部 -
PHP類和對象之類的屬性
默認都為public,外部可以訪問。一般通過->對象操作符來訪問對象的屬性或者方法,對于靜態屬性則使用::雙冒號進行訪問。當在類成員方法內部調用的時候,可以使用$this偽變量調用當前對象的屬性。
受保護的屬性與私有屬性不允許外部調用,在類的成員方法內部是可以調用的。
查看全部 -
PHP類和對象之創建一個對象
?//方法內部可以使用$this偽變量調用對象的屬性或者方法
查看全部 -
第四章有會話控制查看全部
-
PHP異常處理之捕獲異常信息
在了解了異常處理的基本原理之后,我們可以通過try catch來捕獲異常,我們將執行的代碼放在try代碼塊中,一旦其中的代碼拋出異常,就能在catch中捕獲。
這里我們只是通過案例來了解try catch的機制以及異常捕獲的方法,在實際應用中,不會輕易的拋出異常,只有在極端情況或者非常重要的情況下,才會拋出異常,拋出異常,可以保障程序的正確性與安全,避免導致不可預知的bug。
查看全部 -
PHP異常處理之異常處理類
PHP具有很多異常處理類,其中Exception是所有異常處理的基類。
Exception具有幾個基本屬性與方法,其中包括了:
message 異常消息內容
code 異常代碼
file 拋出異常的文件名
line 拋出異常在該文件的行數其中常用的方法有:
getTrace 獲取異常追蹤信息
getTraceAsString 獲取異常追蹤信息的字符串
getMessage 獲取出錯信息查看全部 -
PHP異常處理之拋出一個異常
從PHP5開始,PHP支持異常處理,異常處理是面向對象一個重要特性,PHP代碼中的異常通過throw拋出,異常拋出之后,后面的代碼將不會再被執行。
既然拋出異常會中斷程序執行,那么為什么還需要使用異常處理?
異常拋出被用于在遇到未知錯誤,或者不符合預先設定的條件時,通知客戶程序,以便進行其他相關處理,不至于使程序直接報錯中斷。
當代碼中使用了try catch的時候,拋出的異常會在catch中捕獲,否則會直接中斷。
?
1、基本語法
? ? ? ? try{
? ? ? ? ? ? //可能出現錯誤或異常的代碼
? ? ? ? ? ? //catch表示捕獲,Exception是php已定義好的異常類
? ? ? ? } catch(Exception $e){
? ? ? ? ? ? //對異常處理,方法:
? ? ? ? ? ? ? ? //1、自己處理
? ? ? ? ? ? ? ? //2、不處理,將其再次拋出
? ? ? ? }
2、處理處理程序應當包括:
Try - 使用異常的函數應該位于 "try" ?代碼塊內。如果沒有觸發異常,則代碼將照常繼續執行。但是如果異常被觸發,會拋出一個異常。
Throw - 這里規定如何觸發異常。注意:每一個 "throw" 必須對應至少一個 "catch",當然可以對應多個"catch"
Catch - "catch" 代碼塊會捕獲異常,并創建一個包含異常信息的對象。查看全部 -
PHP文件系統之刪除文件
刪除文件夾使用rmdir函數,文件夾必須為空,如果不為空或者沒有權限則會提示失敗。
如果文件夾中存在文件,可以先循環刪除目錄中的所有文件,然后再刪除該目錄,循環刪除可以使用glob函數遍歷所有文件。
查看全部 -
正則匹配常用案例
正則匹配常用在表單驗證上,一些字段會有一定的格式要求,比如用戶名一般都要求必須是字母、數字或下劃線組成,郵箱、電話等也都有自己的規則,因此使用正則表達式可以很好的對這些字段進行驗證。
查看全部 -
正則表達式的搜索和替換
其中${1}與$1的寫法是等效的,表示第一個匹配的字串,$2代表第二個匹配的。
$0是指匹配到的所有結果,$1是指匹配到的所有結果的第一個子組。這里的第一個子組就是整個結果,所以換成$1也是可以的。把<em>$0</em>去掉不能正確運行,是因為這個課程的要求本來就是給這些文字加em標簽(就是把文字變成斜體的html標簽)。如果去掉了就變成把那些文字替換成空值,那就只能看見2個逗號了。
查看全部 -
查找所有匹配結果
preg_match只能匹配一次結果,但很多時候我們需要匹配所有的結果,preg_match_all可以循環獲取一個列表的匹配結果數組。
查看全部 -
使用正則表達式進行匹配
preg_match用來執行一個匹配,可以簡單的用來判斷模式是否匹配成功,或者取得一個匹配結果,他的返回值是匹配成功的次數0或者1,在匹配到1次以后就會停止搜索。
查看全部 -
元字符與轉義
\ 一般用于轉義字符
^ 斷言目標的開始位置(或在多行模式下是行首)
$ 斷言目標的結束位置(或在多行模式下是行尾)
. 匹配除換行符外的任何字符(默認)
[ 開始字符類定義
] 結束字符類定義
| 開始一個可選分支
( 子組的開始標記
) 子組的結束標記
? 作為量詞,表示 0 次或 1 次匹配。位于量詞后面用于改變量詞的貪婪特性。 (查閱量詞)
* 量詞,0 次或多次匹配
+ 量詞,1 次或多次匹配
{ 自定義量詞開始標記
} 自定義量詞結束標記元字符具有兩種使用場景,一種是可以在任何地方都能使用,另一種是只能在方括號內使用,在方括號內使用的有:
\ 轉義字符
^ 僅在作為第一個字符(方括號內)時,表明字符類取反
- 標記字符范圍其中^在反括號外面,表示斷言目標的開始位置,但在方括號內部則代表字符類取反,方括號內的減號-可以標記字符范圍,例如0-9表示0到9之間的所有數字。
查看全部 -
PHP類和對象之對象的高級特性
對象復制,在一些特殊情況下,可以通過關鍵字clone來復制一個對象,這時__clone方法會被調用,通過這個魔術方法來設置屬性的值。
對象序列化,可以通過serialize方法將對象序列化為字符串,用于存儲或者傳遞數據,然后在需要的時候通過unserialize將字符串反序列化成對象進行使用。
查看全部
舉報