2016-02-26 131 views
3

我的IDE是否显示在这一行我的PHP文件的“解析错误”:解析错误PHP

变量$肉=新类别(无肉肉,1);

我试图做这行代码的工作:

return parent::displayData($viewData); 

而且$ViewData需求是Category对象的数组。

我的语法在哪里让我失望?

以下是完整的文件:

class CategorySelect extends BaseSelect { 
     static $template = 'select_multiple_template.php'; 

     public static function display() { 
      var $meat = new Category(Meat-Free Meat, 1); 
      var $dairy = new Category(Dairy-Free dairy, 2); 
      var $confectionery = new Category(Confectionery, 3); 
      var $baking = new Category(Baking, 4); 
      var $dessert = new Category(Dessert, 5); 
      var $viewData = array($meat, $dairy, $confectionery, $baking, $dessert); 
      return parent::displayData($viewData); 
     } 
    } 

    class Category { 
     function Category($name, $id) { 
      $this->name = $name; 
      $this->id = $id; 
     } 
    } 

这里是它扩展抽象类:

interface iSelect { 
    public static function display(); 
} 

abstract class BaseSelect implements iSelect { 
    static $template = 'select_template.php'; 
    public static function displayData($viewData) { 
     if (class_exists('View')) { 
      $templatePath = dirname(__FILE__) . '/' . static::$template; 
      return View::render($templatePath, $viewData); 
     } 
     else { 
      return "You are trying to render a template, but we can't find the View Class"; 
     } 
    } 
} 
+2

如果这些项目不是常量,则需要引用它们。 –

+0

@JayBlanchard你打败了我,尽管如此,我还是会与空间合作(见“无肉肉”)?我怀疑它... – webeno

+0

可能不是@webeno,但抛出的错误可能是因为PHP试图解释一个不存在的常量。 –

回答

8

你的问题是在这里

var $meat = new Category(Meat-Free Meat, 1); 
var $dairy = new Category(Dairy-Free dairy, 2); 

无肉肉是字符串正确?您必须添加引号,那么它应该是:

$meat = new Category("Meat-Free Meat", 1); 
$dairy = new Category("Dairy-Free dairy", 2); 
+0

另外,你不能在函数里面使用'var' –