php中带有类的未定义属性
Posted
技术标签:
【中文标题】php中带有类的未定义属性【英文标题】:Undefined property with class in php 【发布时间】: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 的回答,他发现了一个错误:)
【参考方案1】:
没有属性pub,你可能指的是$pub->getip()
。
这需要你改变这一行:
if (validip($ip) !== false)
到这里:
if ($this->validip($ip) !== false)
因为它无法在该上下文中找到 validip。
Read about the basics of OOP in PHP here.
【讨论】:
以上是关于php中带有类的未定义属性的主要内容,如果未能解决你的问题,请参考以下文章
Adobe Flash - 访问可能的未定义属性 COMPLETE