gpt4 book ai didi

php - 克隆行为 - 无法为克隆设置属性值?

转载 作者:搜寻专家 更新时间:2023-10-31 21:18:42 24 4
gpt4 key购买 nike

此代码未按预期运行:

// $field contains the name of a subclass of WMSInput.
$fieldClone = clone $field;

echo $fieldClone->getInputName();

// Method on abstract WMSInput superclass.
$fieldClone->setInputName( 'name' );

echo $fieldClone->getInputName();

WMSInput 类:

abstract class WMSInput {
private $inputName;

public function setInputName( $inputName ) {
$this->inputName = $inputName;
}
}

没有 PHP 错误(错误报告设置为 E_ALL)。

实际结果

email
email

预期结果

email
name

有什么想法吗?

最佳答案

在我的测试网站上它运行正常。

您没有在示例中复制方法 getInputName。我会开始在那里搜索。也许您返回的不是所需的变量?

我的测试代码是:

<?php

abstract class WMSInput {
private $inputName;

public function setInputName( $inputName ) {
$this->inputName = $inputName;
}

public function getInputName() {
return $this->inputName;
}
}

class Test extends WMSInput {
}

$field = new Test();

$field->setInputName('email');

// $field contains the name of a subclass of WMSInput.
$fieldClone = clone $field;

echo $fieldClone->getInputName();

// Method on abstract WMSInput superclass.
$fieldClone->setInputName( 'name' );

echo $fieldClone->getInputName();

输出:

emailname

这是正确的。

关于php - 克隆行为 - 无法为克隆设置属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2643448/

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