最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
PHP pthreads v3下的Volatile如何使用
时间:2022-06-24 22:23:26 编辑:袖梨 来源:一聚教程网
PHP pthreads v3下的Volatile如何使用?这篇文章主要介绍了PHP pthreads v3下的Volatile简介与使用方法,结合实例形式较为详细的分析了PHP pthreads v3下Volatile的功能、原理、使用方法及相关操作注意事项,感兴趣的用户就来一聚教程网参考一下吧!
本文实例讲述了PHP pthreads v3下的Volatile简介与使用方法。分享给大家供大家参考,具体如下:
由于pthreads v3中引入了Threaded对象自动不变性的概念,所以当我们在构造函数中给成员设置为数组时,在其他地方就无法对成员再次改写了。
例子如下:
data = 'abc';
var_dump($this->data);
//成员设置成标量,是可以再次被改写的
$this->data = 'def';
var_dump($this->data);
//这里给data设置为数组时,会自动转换成Volatile对象
$this->data = [1, 2, 3];
var_dump($this->data);
//这个时候再给data赋值时,就会报错了
//成员被设置成Threaded对象时(Volatile继承自Threaded),该成员就不能再次被改写了
$this->data = [4, 5, 6];
var_dump($this->data);
//当然,我们可以显式的强制转换,不让Threaded帮我自动转成Volatile对象
$this->result = (array)[1, 2, 3];
//打印出来是数组
var_dump($this->result);
$this->result = (array)[4, 5, 6];
//成员赋值成功
var_dump($this->result);
}
}
new Task();
如果我们对成员再次进行改写,那么就会报错了。
如果确实需要对成员数据进行改写,除了上面的显式强制转换外,另一个方法就是继承Volatile类了。
例子如下:
data = [
'a' => 123,
'b' => 456,
'c' => 789,
];
var_dump($this->data);
//这里成员数据成功被改写
$this->data = [
'a' => 'aaa',
'b' => 'bbb',
'c' => 'ccc',
];
var_dump($this->data);
//由于Threaded对象实现了ArrayAccess接口,我们可以像访问数组一样,访问Volatile对象
echo $this->data['a'], "t", $this->data['b'], "t", $this->data['c'], "n";
foreach ($this->data as $item) {
echo $item, "n";
}
}
}
new Task();
结果如下:
相关文章
- 地心归途真的是食谱吗支线任务攻略 美味食谱附录在哪 11-21
- pcl2启动器模组推荐2024 2024好玩的模组推荐 11-21
- 亚洲之子夜色办公室解锁方法 夜色办公室在哪 11-21
- pcl2启动器高清修复安装教程 高清修复怎么装 11-21
- 咩咩启示录肉体之罪古老石板获得位置攻略 11-21
- pcl2启动器下载目录修改教程 下载目录在哪改 11-21

