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应该被初始化(但它是一个参数:/),并且标识符在返回行上。


至少注意到两件事

  • 数组不是对象。 您不能像创建new array那样创建数组实例。
  • 从PHP 5.3开始, var关键字被弃用。 (你用错了)
  • 所以你的代码:

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

    应该成为:

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

    数组不是对象!
    所以它是:

    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 ( )
       }
    }
    

    public function getForm(array $reqFields){
    

    在PHP中,你不要声明参数类型,所以你应该改变它

    public function getForm($reqFields){
    

    要么

    public function getForm($reqFields = array()){
    

    如果你不希望参数也是可选的

    $formHelper = new FormHelper();
    

    $fields = array();
    

    foreach ($this->getArray() as $k => $v) {
    

    我认为$这是形式...如果不使用$formHelper->getData();

    链接地址: http://www.djcxy.com/p/96561.html

    上一篇: Php: simple code validation failure

    下一篇: Declaring class variables question