gpt4 book ai didi

PHP 代码 : usage of this keyword

转载 作者:行者123 更新时间:2023-12-04 06:39:31 24 4
gpt4 key购买 nike

public function __construct($template = '', array $data = array())
{
if ($template !== '') {
$this->setTemplate($template);
}
if (!empty($data)) {
foreach ($data as $name => $value) {
$this->$name = $value;
}
}
}

从 devshed 复合 View 教程 (http://www.devshed.com/c/a/PHP/PHP-Composite-View-Design-Pattern-Introducing-the-Key-Concepts/1/) 得到这个。反正我有点迷糊, $this->$name = $value;陈述。

我通常使用 $this对于类的属性和/或在所述类中调用类的方法时。加上语句有两个 $的。这很奇怪! $this->$name = $value也是如此指的是 $name在 foreach 循环中定义?如果是这样,有人可以解释这种用法或背后的逻辑吗?

先感谢您。

最佳答案

中的 $name

$this->$name = $value

将定义为 $name 的变量设置为 $value

例如。如果 $name = 'user',那么这相当于
$this->user = value;

这种类型的语法经常在 foreach 循环中使用(如上所示)来设置对象值。

注意:每次调用 $this->variable_name 时,如果 'variable_name' 尚未定义为对象的属性,则调用神奇的 __set 函数,并将 'variable_name' 作为参数传递。

http://php.net/manual/en/language.oop5.overloading.php

关于PHP 代码 : usage of this keyword,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4437622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com