Php: simple code validation failure
我目前正在为框架Symfony2中的实体开发一个简单的php函数。 尽管我看不出有什么问题,但该功能仍会产生错误。 这是代码:
| 1 2 3 4 5 6 7 8 9 10 11 12 | 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,其中的功能就此存在。 当我执行它时,我收到以下错误:
| 1 | Parse error: syntax error, unexpected T_VAR | 
有什么问题?
编辑:Netbeans告诉我应该初始化$ reqFields(但它是一个参数:/),并且在返回行上预期有一个标识符。
我至少注意到两件事:
- 
数组不是对象。 您不能像使用new array 那样创建数组实例。
- 
从PHP 5.3开始,不推荐使用var 关键字。 (而你使用它错了)
所以你的代码:
| 1 2 | 
应该成为:
| 1 2 | 
数组不是对象!
所以它是:
| 1 | 
而且你必须在类头中定义不在函数中的类变量。 所以你也应该擦除前面的
像这样:
| 1 2 3 4 5 6 7 8 9 | 
| 1 | 
在PHP中你没有声明参数类型,所以你应该转换它
| 1 | public function getForm($reqFields){ | 
要么
| 1 | 
如果你想让参数是可选的
也
| 1 | $formHelper = new FormHelper(); | 
也
| 1 | 
也
| 1 | foreach ($this->getArray() as $k => $v) { | 
我假设$这是形式...如果不使用