【问题标题】:Undefined property with class in phpphp中带有类的未定义属性
【发布时间】:2017-09-15 13:31:38
【问题描述】:

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

我认为我做对了,但我不知道为什么我会遇到这样的问题?谁能告诉我我做错了什么,我将不胜感激。

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);

【问题讨论】:

  • var_dump( $pub->pub ); Class Pub 中没有定义pub 属性
  • 是的,我的错误,我编辑了我的帖子,对不起,但同样的问题
  • 您忘记在getip 之后添加()。它应该是 $pub->getip() 而不是 $pub->getip
  • 是的,你明白了。谢谢你。我真是个疯子:(无论如何谢谢。
  • 也看看@TVs 的回答,他发现了一个错误:)

标签: php


【解决方案1】:

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

这需要你改变这一行:

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

到这里:

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

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

Read about the basics of OOP in PHP here.

【讨论】:

    猜你喜欢
    • 2014-02-26
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 2013-09-08
    相关资源
    最近更新 更多