【问题标题】:PHP - Calling class functions from outside the class returns undefined function errorPHP - 从类外部调用类函数返回未定义函数错误
【发布时间】:2016-10-14 04:11:13
【问题描述】:

所以我有一个类,我在它之外创建了一个类的对象。当我尝试执行函数 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');

【问题讨论】:

  • 你试过$this->prepSummonerBasic(...)吗?
  • 我没有,但这就是解决方案。

标签: php


【解决方案1】:
function createSummonerBasicArray($summoner, $server){
    $summonerBasic = $this->prepSummonerBasic($summoner, $server);
}

你必须用$this->调用它,不像在java中

【讨论】:

  • 感谢您的快速回复!这行得通,但你能解释一下为什么需要 $this-> 吗?
【解决方案2】:

用使用过的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');
?>

【讨论】:

    猜你喜欢
    • 2013-12-21
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 2013-09-04
    • 2020-09-06
    相关资源
    最近更新 更多