SheepBandit
SheepBandit

Reputation: 31

PHP - Calling class functions from outside the class returns undefined function error

So I have a class and I created an object of the class outside of it. When I try to execute the function createSummonerBasicArray() I get this error "Fatal error: Call to undefined function prepSummonerBasic()". So apparently it is saying prepSummonerBasic() does not exist. I tried making both functions public and it didn't change the error. New to PHP btw.

Class SummonerSearch{

    function prepSummonerBasic($summoner, $server) {

    }

    function createSummonerBasicArray($summoner, $server){
        $summonerBasic = prepSummonerBasic($summoner, $server);
    }

};

$obj = new SummonerSearch('crippy', 'na');
$obj->createSummonerBasicArray('crippy','na');

Upvotes: 1

Views: 90

Answers (2)

Razib Al Mamun
Razib Al Mamun

Reputation: 2713

Try this with used static keyword:

<?php
Class SummonerSearch{
    public static function prepSummonerBasic($summoner, $server) {
        echo $summoner;
    }

    function createSummonerBasicArray($summoner, $server){
        $summonerBasic = self::prepSummonerBasic($summoner, $server);
    }
};

$obj = new SummonerSearch('crippy', 'na');
$obj->createSummonerBasicArray('crippy','na');
?>

Upvotes: 0

Fu Xu
Fu Xu

Reputation: 766

function createSummonerBasicArray($summoner, $server){
    $summonerBasic = $this->prepSummonerBasic($summoner, $server);
}

you must call it with $this->, not like in java

Upvotes: 3

Related Questions