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";
}
}
}
解决方法:
你的问题在这里
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);