【发布时间】:2009-09-24 22:40:09
【问题描述】:
从下面的演示中你大概可以看出我在做什么,构造方法有效,但测试方法无效,报错 致命错误:在非对象上调用成员函数 get()
有人可以告诉我如何制作这样的东西吗?
<?PHP
//user.class.php file
class User
{
public $pic_url;
function __construct($session)
{
if($session->get('auto_id') != ''){
$this->pic_url = $session->get('pic_url');
}else{
return false;
}
}
function test($session)
{
return $this->pic_url = $session->get('pic_url');
}
}
$user = new user($session);
//this works
echo $user->pic_url;
//this one does not work
echo $user->test();
?>
【问题讨论】:
-
不要把这个当作个人的,但是在 12345 个关于课程+课程的问题之后,您应该考虑获得一些“动手”的专家意见、辅导,或者额外几个小时学习PHP + OOP ...再次,只是我的谦虚建议
-
为什么要从构造函数返回值?
-
@Yacoby:确实——在我的屏幕前放了一个咖啡杯让我想念那个 8) +1
-
$user->test()- 你没有在这里传递 $session 对象。请解释该方法应该做什么。 -
@jcinacio,您的评论根本没有帮助,事实上,这正是我在这里发布问题所做的,第二)这与会话无关,这是一个虚构的例子代码,你知道“例子”来学习和理解这个概念,碰巧这个例子不起作用,我阅读和练习的所有内容都不会像我认为的那样工作,非常感谢“谦虚的建议”但是不,同时感谢