如何访问另一个方法中的变量



如何从另一个Setter中访问Setter中的变量集?我试过只使用$unit,但我得到了一个$unit未定义的错误。我的问题是,我应该在其他地方而不是在setter方法中尝试这样做吗?我花了6个小时试图做到这一点,但我似乎无法理解。

初始变量$unit是从表单中设置的。

public function setUnit($unit)
{
$this->unit = $unit;
return $unit;
}
public function getUnit()
{
return $this->unit;
}
public function setSize($size)
{
$unit =  <- I wish this to be what it is set as in "public function setUnit($unit)
$this->size = $size = new Mass($size, $unit);
$this->size = $size->toUnit('mg');
return $this;
}

我正在使用symfoy2.3.11

-编辑-

好的,所以我遵循了——的建议,这确实解决了我最初的问题。。。但是现在。我的表单正在构建:

->add('unit', 'choice', array(
'choices'   => array(
'gram'   => 'gram',
'kg' => 'Kg',
'mg'   => 'Mg',
'oz'   => 'Oz',
'lb'   => 'Lb',
),

我希望它能将度量值发送到$unit变量,然后可以由newMass($unit)使用,但我现在收到

"未知计量单位($unit)">

我知道所有这些措施都是支持的,因为当我直接将它们输入到新的Mass中时($size,'mg');它运行良好。

创建者提供的原始代码如下所示:

$height = new Length(6.16, 'feet');
echo $height->toUnit('m');

大小变量正在起作用。。。我真的不明白为什么这些措施没有按原样发送?

删除
$unit = <- I wish this to be what it is set as in "public function setUnit($unit)

在下面的行中使用:
$this->size = new Mass($size, $this->unit);

将单位作为全局变量。我不知道symphony语法(我是php-dev),但它可能是在类中声明public/private或protected变量。然后从该类内的任何函数进行访问。

相关内容

  • 没有找到相关文章

最新更新