我无法访问类'变量。
我在课堂上有以下功能。
class Profile {
var $Heading;
// ...
function setPageTitle($title)
{
$this->Heading = $title;
echo 'S: ' . $this->Heading;
}
function getPageTitle2()
{
echo 'G: ' . $this->Heading;
return $this->Heading;
}
// ...
}
现在,当我运行方法$this->setPageTitle("test")
时,我只得到
G: S: test
getPageTitle2
功能出了什么问题?标题是公共顺便说一下。请帮忙!
谢谢你们!
答案 0 :(得分:4)
现在,当我运行方法
$this->setPageTitle("test")
时,我只得到
G: S: test
这听起来难以置信。你确定你没跑:
$this->getPageTitle2();
$this->setPageTitle("test");
PHP - 像大多数编程语言一样 - 是一种命令式语言。这意味着你做事的顺序很重要。您调用$this->Header
时未设置变量getPageTitle2
。
答案 1 :(得分:1)
如果你有“G:S:test” 这意味着你在setPageTitle之前调用了getPageTitle2! 那看起来很正常:我建议先设置然后得到。
答案 2 :(得分:0)
你必须从功能中声明标题和标题......我不知道你是否已经这样做了
查看调用函数的顺序
答案 3 :(得分:0)
class Profile {
var $Heading;
// ...
function setPageTitle($title)
{
$this->Heading = $title;
echo 'S: ' . $this->Heading;
}
function getPageTitle2()
{
echo 'G: ' . $this->Heading;
return $this->Heading;
}
// ...
}
我猜你在做这样的事情:
$profile = new Profile();
$profile->setPageTitle("test");
$profile->getPageTitle2();
并且这将导致以下输出:
S: testG: test
如果您echo $profile
,您将获得
test
那么您认为问题是什么,或者您想要完成的是什么?
我也可能将$Heading
声明为
private $heading;