未定义的函数错误PHP

时间:2014-08-01 16:50:45

标签: php oop

我正在上课,但我无法弄清楚为什么会收到这个错误:

PHP Fatal error:  Call to undefined method Directory::BuildDirectoryListing() 
in C:\www\directory.php on line 25

没有任何意义。通过错误看起来它正试图寻找静态函数。这是我正在使用的代码:

$odata = new Directory($listing['id']);
$adata = $odata->BuildDirectoryListing();

<?php

include_once("database.php");

class Directory {

    public $listing = array();
    public $aacategories = array();

    function __construct($_listing) {

        $this->listing = $_listing;

    }

    public function BuildDirectoryListing() {

        /* function code here */

    }


}

?>

2 个答案:

答案 0 :(得分:2)

Directory是一个PHP内置类。

您需要namespace您的代码或更改您的班级名称:

类别:

<?php

namespace MyApp;

class Directory {

    public $listing = array();
    public $aacategories = array();

    function __construct($_listing) {

        $this->listing = $_listing;

    }

    public function BuildDirectoryListing() {

        /* function code here */

    }

}

?>

创建课程:

<?php

$odata = new \MyApp\Directory($listing['id']);
$adata = $odata->BuildDirectoryListing();

?>

答案 1 :(得分:0)

您正在Directory::BuildDirectoryListing()中调用静态函数,更改此行

public function BuildDirectoryListing() {

public static function BuildDirectoryListing() {