今天就跟大家聊聊有關(guān)$this與$that指針如何在PHP中使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)公司專注于臨猗企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城系統(tǒng)網(wǎng)站開(kāi)發(fā)。臨猗網(wǎng)站建設(shè)公司,為臨猗等地區(qū)提供建站服務(wù)。全流程專業(yè)公司,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)PHP5中定義了一個(gè)特殊的方法名“__clone()”方法,是在對(duì)象克隆時(shí)自動(dòng)調(diào)用的方法,用“__clone()”方法將建立一個(gè)與原對(duì)象擁有相同屬性和方法的對(duì)象,如果想在克隆后改變?cè)瓕?duì)象的內(nèi)容,需要在__clone()中重寫(xiě)原本的屬性和方法,“__clone()”方法可以沒(méi)有參數(shù),它自動(dòng)包含$this和$that兩個(gè)指針,$this指向復(fù)本,而$that指向原本,具體實(shí)例如下:
復(fù)制代碼 代碼如下:
class Person {
// 下面是人的成員屬性
var $name; // 人的名字
var $sex; // 人的性別
var $age; // 人的年齡
// 定義一個(gè)構(gòu)造方法參數(shù)為屬性姓名$name、性別$sex 和年齡$age 進(jìn)行賦值
// function __construct($name="", $sex="",$age="")
function __construct($name, $sex, $age) {
$this->name = $name;
$this->sex = $sex;
$this->age = $age;
}
// 這個(gè)人可以說(shuō)話的方法, 說(shuō)出自己的屬性
function say() {
echo "我的名字叫:" . $this->name . " 性別:" . $this->sex . " 我的年齡是:" . $this
->age . "
";
}
// 對(duì)象克隆時(shí)自動(dòng)調(diào)用的方法, 如果想在克隆后改變?cè)瓕?duì)象的內(nèi)容,需要在__clone()中重寫(xiě)原來(lái)的屬性和方法。
function __clone() {
// $this 指的復(fù)本p2, 而$that 是指向原本p1,這樣就在本方法里,改變了復(fù)本的屬性。
$this->name = "我是復(fù)制的張三$that->name";
// $this->age = 30;
}
}
$p1 = new Person ( "張三", "男", 20 );
$p2 = clone $p1;
$p1->say ();
$p2->say ();
?>
看完上述內(nèi)容,你們對(duì)$this與$that指針如何在PHP中使用有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。