The Hawk
The Hawk

Reputation: 1568

Undefined Function Error PHP

I'm writing a class and I can't figure out why I am getting this error:

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

It doesn't make any sense. By the error it looks like it is trying to look for a static function. Here is the code I am using:

$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 */

    }


}

?>

Upvotes: 0

Views: 80

Answers (2)

gmsantos
gmsantos

Reputation: 1419

Directory is a PHP built-in class.

You need to namespace your code or change your class name:

Class:

<?php

namespace MyApp;

class Directory {

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

    function __construct($_listing) {

        $this->listing = $_listing;

    }

    public function BuildDirectoryListing() {

        /* function code here */

    }

}

?>

Creating the class:

<?php

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

?>

Upvotes: 2

Fernando Caetano
Fernando Caetano

Reputation: 1

You are calling a static function in Directory::BuildDirectoryListing(), change this line

public function BuildDirectoryListing() {

for

public static function BuildDirectoryListing() {

Upvotes: 0

Related Questions