一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP5 的對象賦值機制介紹

PHP5 的對象賦值機制介紹

2019-12-09 13:49PHP教程網 PHP教程

看到PHP設計模式中值對象模式中的例題,對于結果總感到有點疑惑。回頭看了下PHP5的對象賦值才真正清楚。

代碼如下:


<?php 
class SimpleClass{ 
public $var = 'a default value'; 
public function displayVar() { 
echo $this->var; 


$instance = new SimpleClass(); 
$assigned = $instance; 
$reference =& $instance; 
$instance->var = '$assigned will have this value'; 
$instance = null; // $instance and $reference become null var_dump($instance);var_dump($reference);var_dump($assigned); 
var_dump($instance); 
var_dump($assigned); 
var_dump($reference); 
?> 


php5 改寫了OOP底層。當類生成一個實例(對象)的時候,返回值$instance并不是對象本身,而只是對象的一個id(或者資源句柄),所以,當$instance被賦值給$assigned的時候,$assigned也指向了這個對象,這有點像普通變量的引用(&)操作。所以,當對$instance初始化的時候,$assigned也被初始化了。但是,當$instance被銷毀(=null)的時候,因為對應的對象還有一個句柄存在($assigned),所以對象并不會被銷毀,析構函數也不會被觸發。結果,var_dump($assigned)是對象的值,而$instance已經是空句柄,顯示null。$reference因為與$instance有類似普通變量間的引用關系,所以也成為空句柄,顯示 null。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲第一福利视频 | 青青草99久久精品国产综合 | 国产精品资源站 | 成年男女免费大片在线观看 | sao虎在线精品永久 s0e一923春菜花在线播放 | 深夜福利影院在线观看 | 国产乱子伦在线观看不卡 | 高清女主播一区二区三区 | 袖珍人与大黑人性视频 | 欧美一级欧美三级 | 亚洲国产第一 | 全肉np巨肉一女np高h双龙 | 日本漫画被黄漫免费动 | 操bb| 2021麻豆剧果冻传媒入口永久 | 国产经典一区 | 亚洲精品中文字幕在线 | 动漫女性扒开尿口羞羞漫画 | 2021国产精品视频一区 | 精品久久香蕉国产线看观看亚洲 | 欧美久久久久久久一区二区三区 | 欧美日韩国产成人综合在线影院 | jzjzjz日本在线观看 | 色女的乖男人 | 成人看的羞羞视频免费观看 | 日韩伦理在线观看 | 男女发生性关系视频 | 欧美视频黑鬼大战白妞 | 玩50岁四川熟女大白屁股直播 | 91制片厂制作传媒免费版樱花 | 疯狂刺激的3p国产在线 | 91国内精品久久久久怡红院 | 欧美在线成人免费国产 | 国产在线观看精品香蕉v区 国产在线观看a | 精选国产AV精选一区二区三区 | 插鸡小说| 武侠艳妇屈辱的张开双腿 | 天天草人人草 | 欧洲男同直粗无套播放视频 | 久久精品中文闷骚内射 | 3x免费高清视频 |