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
那样创建数组实例。 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();