php中的类的未定义属性

时间:2017-04-19 10:54:41

标签: php

注意:未定义的属性:第37行的I:\ xampp \ htdocs \ test.php中的Pub :: $ pub NULL

我觉得我做得对,但我不知道为什么会有这样的问题?谁能告诉我我做错了什么我会感激的。

class Pub {

    function getip()
    {
        if (isset($_SERVER['HTTP_CF_CONNECTING_IP']))
            $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];

        foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR', 'HTTP_CF_CONNECTING_IP') as $key) 
        {
            if (array_key_exists($key, $_SERVER) === true) {

                foreach (explode(',', $_SERVER[$key]) as $ip) {

                    if (validip($ip) !== false) {

                        return $ip;
                    }
                }
            }
        }
    }

    function validip($ip)
    {
        return (!preg_match("/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/", $ip)) ? FALSE : TRUE;
    }

}

$pub = new Pub;

var_dump( $pub->getip);

1 个答案:

答案 0 :(得分:2)

没有属性酒吧,您可能指的是$pub->getip()

这需要你改变这一行:

if (validip($ip) !== false) {

到此:

if ($this->validip($ip) !== false) {

看到它无法在该上下文中找到validip。

Read about the basics of OOP in PHP here.