Php:简单代码验证失败

15 浏览
0 Comments

Php:简单代码验证失败

我目前正在为Symfony2框架中的实体编写一个简单的php函数。尽管我看不出有什么问题,但该函数一直在产生错误。 以下是代码:

public function getForm(array $reqFields){
    var $formHelper = new FormHelper;
    var $fields = new array;
    if($reqFields == null){
        foreach ($this->getArray() as $k => $v) {
            array_push($fields, $formHelper->getTextField($v, $k));
        }
    }
    return $formHelper->getForm($fields);
}

我已经导入了FormHelper,并且它其中的函数存在。 当我执行它时,我得到以下错误:

Parse error: syntax error, unexpected T_VAR

有什么问题吗?

编辑:Netbeans告诉我$reqFields应该被初始化(但它是一个参数:/),并且在返回行上需要一个标识符。

admin 更改状态以发布 2023年5月23日
0
0 Comments

数组不是对象!
所以它是这样的:

var $fields = array();

你必须在类头中定义类变量,而不是在函数中。所以你应该把前面的 var 删除。

像这样:

class Foo
{
   public $fields = array(); // var equals public (you should use public, because var is deprecated)
   public function bar()
   {
      print_r($this->fields); // => Array ( )
   }
}

0
0 Comments

我至少注意到两件事

  • 数组不是对象。不能像使用new array创建对象实例那样创建数组实例。
  • var关键字自PHP5.3后已弃用。(而你用法不正确)

所以你的代码:

var $formHelper = new FormHelper;
var $fields = new array;

应该改为:

$formHelper = new FormHelper;
$fields = array();

0