我正在上课,但我无法弄清楚为什么会收到这个错误:
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 */
}
}
?>
答案 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() {