致命错误:在第24行的/.../admin/index.php中的非对象上调用成员函数getSubMenu()

时间:2014-10-22 14:12:36

标签: php

我有以下代码从我的数据库调用菜单和子菜单。

调用父菜单是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);

?>

我做错了什么?

1 个答案:

答案 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(); ?>