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) { |
我假设$这是形式...如果不使用