Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php:简单代码验证失败_Php_Symfony - Fatal编程技术网

Php:简单代码验证失败

Php:简单代码验证失败,php,symfony,Php,Symfony,我目前正在为Symfony2框架中的一个实体开发一个简单的php函数。这个函数不断产生错误,尽管我看不出哪里出了问题。代码如下: public function getForm(array $reqFields){ var $formHelper = new FormHelper; var $fields = new array; if($reqFields == null){ foreach ($this->getArray() as $k =&

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

数组不是对象
因此:

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 ( )
   }
}
我至少注意到两件事:

  • 数组不是对象。不能像使用
    新建数组那样创建数组实例
    
  • var
    关键字从PHP5.3开始。(你用错了)
因此,您的代码:

var $formHelper = new FormHelper;
var $fields = new array;
应该变成:

$formHelper = new FormHelper;
$fields = array();
在php中,您不声明参数类型,因此应该在

public function getForm($reqFields){

如果您希望参数是可选的 也


我假设$this是表单…如果不使用
$formHelper->getData()

谢谢你提供的信息(至少我现在知道该用什么了),但是,我仍然有相同的错误。你在哪一行有这个错误?
var
只在
类中使用
我相信是在第三行。但多亏了阿隆的帮助,问题现在解决了answer@islandmyth在PHP4.types上,函数定义中可以使用可调用或类名来表示数组,请参阅。
public function getForm($reqFields){
public function getForm($reqFields = array()){
$formHelper = new FormHelper();
$fields = array();
foreach ($this->getArray() as $k => $v) {