从其他函数访问变量-Symfony2



新手问题提醒。。。

好的,目前正在尝试将用户输入的值(质量)从他们希望使用的测量值转换为Mg,然后将其存储在数据库中。

目前我有这个:

public function setUnit($unit)
{
$this->unit = $unit;
return $unit;
}
public function getUnit()
{
return $this->unit;
}
public function setSize($size)
{
$unit = $this->unit;
$this->size = $size = new Mass($size, $unit);
$this->size = $size->toUnit('mg');
return $this;
}

"新质量"函数是TriplePoint创建的用于从度量转换为度量的函数。

https://github.com/triplepoint/php-units-of-measure/

现在,如果我明确地将$unit变量设置为"克"one_answers"公斤",或者无论我选择什么,它都会进行转换,但我显然不想强迫用户只使用一个度量。所以我想创建一个新的变量$unit和setters/getters,然后在newMass函数中接受输入到unit框中的文本。相反,我得到了这个:

Unknown unit of measure ($unit)

我认为这意味着它试图使用"$this->unit"作为变量,而不是文本字段中的文本。

就像我说的,我对这个东西真的很陌生,如果我用这个问题惹恼了任何人,对不起。

一旦我有了这个,我希望创建一个数组供用户选择,但我认为我可以自己管理。

编辑--


public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('prod')
->add('product_code')
->add('size')
->add('cost')
->add('discount')
->add('foodcat')
->add('unit', 'choice', array(
'choices'   => array(
'g'   => 'G',
'kg' => 'Kg',
'mg'   => 'Mg',
'oz'   => 'Oz',
'lb'   => 'Lb',
),
'multiple'  => false,
));        
}

这是我表格的代码。

因此,我希望$unit的值是从单元选择数组中选择的值。这就是为什么我试图通过使用加载它

public function setSize($size)
{
$unit = $this->unit;

尽管我认为这不是从"公共函数setUnit"中获取集合变量的正确方法

编辑-

如果我这样做:

$unit = 'g';
$this->size = $size = new Mass($size, $unit);
$this->size = $size->toUnit('mg');
return $this;

它非常好用。

所以我真正要问的是…我如何访问setUnit方法中的变量集?

错误消息Unknown unit of measure ($unit)为您提供了足够的信息。

在这一行:$this->size = $size = new Mass($size, $unit);中,$unit未被识别。

相关内容

  • 没有找到相关文章