動作
定義:系統已經定義好,但是需要使用者在類裡面顯示的寫出來才會被執行的方法。一旦定義了魔術方法,那麼在某些特定的情況下會自動觸發。
class
person
function
__destruct()
/** *物件轉字串方法
*只能返回字串型別的資料
*echo物件輸出時呼叫
*/public
function
__tostring()
/** *物件轉殖
* 開闢一塊空間,複製該物件
* $this代表被轉殖出來的物件
*/public
function
__clone()
}$person
=new
person
('hxh',18
);//unset($person);
__autoload.php
class
loader
}
class
person
//定義乙個方法,來獲取物件數量
public
static
function
getcount()
//普通方法
public
function
setage
($age
)//普通方法
public
function
test()
}$person
=new
person
('hxh'
,123);
$person
->
test()
;//可以
$person
->
serage(18
);// 可以
//類訪問非靜態屬性和方法
person:
:$count
;//可以,因為$count是靜態屬性,就在**區中
//person::$name; //不可以,$name是普通屬性,存在在堆裡,類找不到
//類訪問方法
person:
:test()
;//可以,但是因為test方法不是靜態方法,本身不是為類存在的,所以會有乙個類似警告的提示
person:
:setage(20
);//不可以
堆區儲存物件,棧區指向物件
$serialize_obj
=serialize
($this);
unserialize
($serialize_obj
);
反序列化過程:
兩個魔術方法
<?php
/** * created by intellij idea.
* user: 何曉巨集
* date: 2018/10/15
* time: 1:17
*/class
db/**
*資料庫的連線
*/private
function
connect()
/** *設定字符集
*/private
function
setcharset()
");}
/** *選擇資料庫
*/private
function
setdbname()
");}
/**魔術方法__sleep
* 當物件被當作檔案儲存時自動觸發的方法
* 返回需要返回的物件資料的陣列
* @return array
*/public
function
__sleep()
/**魔術方法__wakeup資源初始化
* 當物件使用反序列化得到物件的餓時候會自動觸發
*/public
function
__wakeup()
}
PHP學習 PHP學習筆記 3
php 學習筆記 3 8 php 預定義常量 9 php 類 示例 var1 33 var2 44 if語句if var1 var2 echo if.else語句if var1 var2 else echo if.elseif.else語句if var1 var2 elseif var1 var2 ...
PHP學習筆記
globals是乙個儲存所有超級全域性變數的陣列,而global是乙個關鍵字,主要用在函式中宣告乙個變數為全域性變數,也可以使用 globals陣列來儲存全域性變數。變數的定義檢查 格式 isset var 取消變數定義 格式 unset var 數值轉換函式 chr 根據 var的值返回相對應的a...
php學習筆記
1 server script name server php self 和 server request uri 區別 例子 http localhost phpwind75 test.php 22 3e 3cscript 3ealert xss 3c script 3e 3cfoo server...