我有以下代码从我的数据库调用菜单和子菜单。
调用父菜单是nu问题但是当我想调用我的子菜单时,我收到以下错误:
致命错误:在第24行的/.../admin/index.php中的非对象上调用成员函数getSubMenu()
在index.php
上我首先通过以下方式调用我的父菜单:
<?php $arrMenu = $menu->getMenu(); ?>
然后我通过以下方式调用我的子菜单:
<?php $arrSubMenu = $menu->getSubMenu(); ?>
此代码提供了上述错误代码。
这是我的菜单类
的代码<?php
class Menu {
private $log;
private $conn;
public function __construct(Log $log, Connection $conn){
$this->conn = $conn;
}
public function getMenu() {
$prefix = $this->conn->getPrefix();
$sqlMenu = "SELECT name FROM ".$prefix."modules WHERE active = '1' AND deleted = '0' ORDER BY rank ASC";
$arrMenu = $this->conn->select($sqlMenu);
return $arrMenu;
}
public function getSubMenu(){
}
}
$menu = new Menu($log, $conn);
?>
我做错了什么?
答案 0 :(得分:0)
您没有创建该对象的真实实例,您不能只有
$menu = new Menu($log, $conn);
您的Menu类。因为$log
和$conn
未定义参数。
这就是你应该如何使用它
<?php
include 'Menu.php';
$log = Log();
$conn = new Connection();
$menu = new Menu($log, $conn);
然后你就可以使用这个对象了:
<?php $arrMenu = $menu->getMenu(); ?>