从类外部调用类函数会返回未定义函数错误


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

所以我有一个类,我在它外面创建了一个类的对象。当我尝试执行createSummonerBasicArray()函数时,我得到这个错误"Fatal error: Call to undefined function prepSummonerBasic()"。很明显,它说prepSummonerBasic()不存在。我试着让这两个功能公开,它没有改变错误。顺便说一句,PHP新手。

Class SummonerSearch{
    function prepSummonerBasic($summoner, $server) {
    }
    function createSummonerBasicArray($summoner, $server){
        $summonerBasic = prepSummonerBasic($summoner, $server);
    }
};
$obj = new SummonerSearch('crippy', 'na');
$obj->createSummonerBasicArray('crippy','na');
function createSummonerBasicArray($summoner, $server){
    $summonerBasic = $this->prepSummonerBasic($summoner, $server);
}

你必须用$this->来调用它,而不是像java中的

尝试使用static关键字:

<?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');
?>