PHP错误:调用未定义的函数

时间:2013-12-14 20:22:30

标签: php

我在PHP类中有两个方法:

    public static function sID($urlID) {
            return base_convert($urlID, 10, 62) - 239000;
    }

    public static function load($urlID) {
            if ($urlID = "" || !is_numeric($urlID)) return 0;
            $id = sID($urlID); // ERROR ON THIS LINE
    }

我收到错误:

  

致命错误:调用未定义的函数sID()

我在网上看了一下,但令人惊讶的是,还没有找到解决这个看似简单问题的方法。是否存在语法错误?

2 个答案:

答案 0 :(得分:4)

这是static class method,因此您必须使用self::引用它。

$id = self::sID($urlID);

您还可以使用班级名称:(此处,假设为class Foo):

$id = Foo::sID($urlID);

由于您在课堂内进行此操作,因此使用self::可能更简洁,更容易理解。

答案 1 :(得分:1)

那是因为你没有声明sID()函数,你声明了一个静态方法。可以使用className::sID()(或类本身内部的self::sID())调用哪个。