亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

關(guān)于PHP5后“默認(rèn)情況下對(duì)象是通過(guò)引用傳遞的”思考

hosition / 3216人閱讀

摘要:中的對(duì)象傳遞然后說(shuō)一下之后的默認(rèn)情況下的對(duì)象是通過(guò)引用傳遞的這件事情。如此時(shí),其實(shí)表示的并不是是的引用,和可以說(shuō)是沒(méi)什么關(guān)系的,有關(guān)系的是實(shí)例化類得到的對(duì)象。

首先引發(fā)這篇博文的是來(lái)源于這篇帖子:https://segmentfault.com/q/10...

經(jīng)過(guò)了思考之后,我決定把回答思考變成博客做一下記錄,如有不對(duì)之處,歡迎指正。

指針與引用

首先,引用和指針是不一樣的,指針在C語(yǔ)言里的概念是表示變量的地址;

引用在PHP里是表示變量2是變量1的別名,如:

$a = "hello";
$b = &$a;

此時(shí)可以說(shuō)$b就是$a,$a就是$b;是同一個(gè)東西,比如你英文名叫 Steven,中文名叫 二狗子,不管叫啥,都是你。

PHP中的對(duì)象傳遞

然后說(shuō)一下PHP5之后的“默認(rèn)情況下PHP的對(duì)象是通過(guò)引用傳遞的這件事情。
如:

class Obj() {
    public $o = "hello";
}
$a = new Obj();
$b = $a;
$c = &$a;

此時(shí),$b=$a其實(shí)表示的并不是$b$a的引用,$a$b可以說(shuō)是沒(méi)什么關(guān)系的,有關(guān)系的是實(shí)例化Obj類得到的對(duì)象。
也就是說(shuō),此時(shí)$a和$b都是實(shí)例化Obj后得到的對(duì)象,而$b=$a唯一產(chǎn)生的是$b$a這里得到了實(shí)例化Obj后的引用;
然后看$c = &$a
此時(shí)是$c$a的引用,也就是說(shuō)$c就是$a;
假設(shè):

unset($b);
unset($c);

那么unset($b)只是刪除了實(shí)例化Obj后得到的對(duì)象的一次引用計(jì)數(shù),
unset($c)則刪除了$a$b(因?yàn)閮蓚€(gè)表示同一個(gè)東西);

同樣的,假設(shè):

$a->o = "test";
echo $b->o; // string "test"

雖然說(shuō)$a和$b"沒(méi)什么關(guān)系",但是與實(shí)例化后的對(duì)象有關(guān)系,也就是$a改變的是實(shí)例化后的對(duì)象的數(shù)據(jù),而$b的調(diào)用也是調(diào)用了這個(gè)對(duì)象的數(shù)據(jù),所以從一定層面上看起來(lái)其實(shí)是有關(guān)系的。

再一個(gè)假設(shè)這樣說(shuō)還不明白的話,從我們web的業(yè)務(wù)邏輯來(lái)看。

用戶A和用戶B都登陸了網(wǎng)站,用戶A改變了存儲(chǔ)評(píng)論的數(shù)據(jù)表的數(shù)據(jù),用戶B假設(shè)去取這條數(shù)據(jù),則用戶B獲取到就是修改后的數(shù)據(jù),而其實(shí)用戶A和用戶B是沒(méi)什么關(guān)系的。

而引用其實(shí)類似于用戶A同時(shí)在手機(jī)端和電腦端登陸,然后改變了評(píng)論數(shù)據(jù)表的數(shù)據(jù),不管是在手機(jī)端還是在電腦端重新獲取數(shù)據(jù)都是修改過(guò)的,但是實(shí)際上就是一個(gè)人。

引用計(jì)數(shù)

我文中提到了一個(gè)引用計(jì)數(shù)的名詞,這里又涉及到PHP中的另外一個(gè)問(wèn)題,就是PHP的引用計(jì)數(shù),這個(gè)可以參考PHP官方的文檔,我覺(jué)得已經(jīng)很詳細(xì)了:
http://php.net/manual/zh/feat...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/25636.html

相關(guān)文章

  • 如何讓PHP性能問(wèn)題不再飽受詬病

    摘要:作為開(kāi)發(fā)中應(yīng)用最廣泛的開(kāi)源腳本語(yǔ)言,憑借庫(kù)類豐富,使用簡(jiǎn)單,安全等特點(diǎn),成為和等互聯(lián)網(wǎng)巨頭和全球超過(guò)網(wǎng)站的主要開(kāi)發(fā)語(yǔ)言,然而性能問(wèn)題是一直以來(lái)飽受詬病的,來(lái)自開(kāi)發(fā)組的高馳濤同學(xué)將為我們帶來(lái)他對(duì)性能優(yōu)化方面的思考和建議。 PHP作為Web開(kāi)發(fā)中應(yīng)用最廣泛的開(kāi)源腳本語(yǔ)言,憑借庫(kù)類豐富,使用簡(jiǎn)單,安全等特點(diǎn),成為Facebook和BAT等互聯(lián)網(wǎng)巨頭和全球超過(guò)70%網(wǎng)站的主要開(kāi)發(fā)語(yǔ)言,然而性能...

    warnerwu 評(píng)論0 收藏0
  • php + nginx 網(wǎng)站并發(fā)壓力測(cè)試及優(yōu)化

    摘要:一測(cè)試工具壓力測(cè)試工具是針對(duì)的性能測(cè)試工具,可以只安裝工具。顯示版本號(hào)并退出。用戶名和密碼由一個(gè)隔開(kāi),并以編碼形式發(fā)送。參考并發(fā)數(shù)問(wèn)題思考與工作原理和優(yōu)化漏洞調(diào)大的并發(fā)連接數(shù)調(diào)的等。 一、測(cè)試工具: Apache 壓力測(cè)試工具ab ab是針對(duì)apache的性能測(cè)試工具,可以只安裝ab工具。 ubuntu安裝ab apt-get install apache2-utils centos安...

    Soarkey 評(píng)論0 收藏0
  • php + nginx 網(wǎng)站并發(fā)壓力測(cè)試及優(yōu)化

    摘要:一測(cè)試工具壓力測(cè)試工具是針對(duì)的性能測(cè)試工具,可以只安裝工具。顯示版本號(hào)并退出。用戶名和密碼由一個(gè)隔開(kāi),并以編碼形式發(fā)送。參考并發(fā)數(shù)問(wèn)題思考與工作原理和優(yōu)化漏洞調(diào)大的并發(fā)連接數(shù)調(diào)的等。 一、測(cè)試工具: Apache 壓力測(cè)試工具ab ab是針對(duì)apache的性能測(cè)試工具,可以只安裝ab工具。 ubuntu安裝ab apt-get install apache2-utils centos安...

    yeyan1996 評(píng)論0 收藏0
  • php底層原理之垃圾回收機(jī)制

    摘要:總結(jié)垃圾回收機(jī)制以的引用計(jì)數(shù)機(jī)制為基礎(chǔ)以前只有該機(jī)制同時(shí)使用根緩沖區(qū)機(jī)制,當(dāng)發(fā)現(xiàn)有存在循環(huán)引用的時(shí),就會(huì)把其投入到根緩沖區(qū),當(dāng)根緩沖區(qū)達(dá)到配置文件中的指定數(shù)量后,就會(huì)進(jìn)行垃圾回收,以此解決循環(huán)引用導(dǎo)致的內(nèi)存泄漏問(wèn)題開(kāi)始引入該機(jī)制 php垃圾回收機(jī)制,對(duì)于PHPer來(lái)說(shuō)是一個(gè)不陌生但是又不是很熟悉的內(nèi)容。那么php是怎么實(shí)現(xiàn)對(duì)不需要的內(nèi)存進(jìn)行回收的呢? php變量的內(nèi)部存儲(chǔ)結(jié)構(gòu) 首先還是...

    light 評(píng)論0 收藏0
  • foreach遍歷過(guò)程中奇怪現(xiàn)象(PHP5

    摘要:中基礎(chǔ)中的三大坑,遍歷,引用機(jī)制,數(shù)組。今天我們?cè)谥v講中的一些奇怪現(xiàn)象。本文適合有一定基礎(chǔ)的。運(yùn)行流程共用一個(gè)結(jié)構(gòu)體開(kāi)始遍歷數(shù)組,進(jìn)行判斷,拷貝數(shù)組是一個(gè)新的結(jié)構(gòu)體,操作的是新的結(jié)構(gòu)體。那么遍歷數(shù)組時(shí),全程與原數(shù)組無(wú)關(guān)。 PHP中基礎(chǔ)中的三大坑,foreach遍歷,引用機(jī)制&,數(shù)組。 今天我們?cè)谥v講foreach中的一些奇怪現(xiàn)象。 在講解之前,可以先看看我其他相關(guān)的文章,屬于同一個(gè)大的...

    kgbook 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<