我在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()
我在网上看了一下,但令人惊讶的是,还没有找到解决这个看似简单问题的方法。是否存在语法错误?
答案 0 :(得分:4)
这是static class method,因此您必须使用self::
引用它。
$id = self::sID($urlID);
您还可以使用班级名称:(此处,假设为class Foo
):
$id = Foo::sID($urlID);
由于您在课堂内进行此操作,因此使用self::
可能更简洁,更容易理解。
答案 1 :(得分:1)
那是因为你没有声明sID()
函数,你声明了一个静态方法。可以使用className::sID()
(或类本身内部的self::sID()
)调用哪个。