PHP类和函数返回

PHP类和函数返回,php,function,class,Php,Function,Class,我对PHP类和函数有问题 我的班级档案是: <?php class EF_IP{ public function ip_adresa(){ // dobivanje IP adrese if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; return $ip; } elseif (!empty($_SERVER['HTTP_

我对PHP类和函数有问题

我的班级档案是:

<?php
class EF_IP{

public function ip_adresa(){

    // dobivanje IP adrese
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
        return $ip;
        } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
            $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
            return $ip;
                } else {
                    $ip = $_SERVER['REMOTE_ADDR'];
                    return $ip;
        }
    }
}
?>
我得到一个错误:

Strict Standards: Non-static method EF_IP::ip_adresa() should not be called statically

我需要做什么

不要静态调用函数:

$ef_ip = new EF_IP();
$ip = $ef_ip->ip_adresa();
echo $ip;
或者将函数设置为静态:

public static function ip_adresa(){
 // your code
}

不静态调用函数:

$ef_ip = new EF_IP();
$ip = $ef_ip->ip_adresa();
echo $ip;
或者将函数设置为静态:

public static function ip_adresa(){
 // your code
}

您可以将函数设置为静态,也可以先实例化类:

class MyClass {
    public static function SomeFunction() {}
    public function someOtherFunction() {}
}
然后你这样称呼其中一个:

MyClass::SomeFunction()
$class = new MyClass();
$class->someOtherFunction();

您可以将函数设置为静态,也可以先实例化类:

class MyClass {
    public static function SomeFunction() {}
    public function someOtherFunction() {}
}
然后你这样称呼其中一个:

MyClass::SomeFunction()
$class = new MyClass();
$class->someOtherFunction();

公共功能
更改为
公共静态功能
公共功能
更改为
公共静态功能