如何从另一个Setter中访问Setter中的变量集?尝试过只使用$ unit但我得到$ unit not defined错误。我的问题是我应该尝试在其他地方而不是在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;
}
我正在使用symfony2.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');
并且size变量正在工作......我真的不明白为什么这些措施没有按原样发送?
答案 0 :(得分:0)
删除
$unit = <- I wish this to be what it is set as in "public function setUnit($unit)
请在下面的行中使用:
$this->size = new Mass($size, $this->unit);
答案 1 :(得分:0)
将单位作为全局变量。我不知道交响乐语法(我是php dev)但它可能是 在类内部声明public / private或protected变量。然后从该类中的任何函数访问。