解析错误 PHP

3
我的IDE在我的PHP文件的这一行上显示“解析错误”:
``` var $meat = new Category(Meat-Free Meat, 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
如果这些项不是常量,它们需要被引用。 - Jay Blanchard
@JayBlanchard你比我快,不过一个带空格的常量会起作用吗(参见无肉肉)?我怀疑... - benomatis
很可能不是@Webeno,但抛出的错误很可能是因为PHP尝试解释一个不存在的常量。 - Jay Blanchard
同意,@JayBlanchard - benomatis
这是豆腐 @Don'tPanic :P - Jay Blanchard
1个回答

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);

此外,在函数内部不能使用 var - CJ Nimes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接