PHP类变量访问问题
我在访问类变量时遇到问题 我在课堂上有下面的功能PHP类变量访问问题,php,class,Php,Class,我在访问类变量时遇到问题 我在课堂上有下面的功能 class Profile { var $Heading; // ... function setPageTitle($title) { $this->Heading = $title; echo 'S: ' . $this->Heading; } function getPageTitle2() { ech
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
函数有什么问题?标题是公共btw。请帮助
谢谢大家 您必须在函数中声明标题和标题。。。我不知道你是否已经这么做了
请参见调用函数的顺序您必须声明函数的标题和标题。。。我不知道你是否已经这么做了 如果有“G:S:test”,请参见调用函数的顺序 这意味着您在setPageTitle之前调用了getPageTitle2! 这看起来很正常:我建议先设置然后获取。如果您有“G:S:test” 这意味着您在setPageTitle之前调用了getPageTitle2! 那看起来很正常:我建议先定,然后再定 现在,当我运行方法
$this->setPageTitle(“test”)
时,我只得到
G:S:test
这听起来难以置信。你确定你没有跑步吗:
$this->getPageTitle2();
$this->setPageTitle("test");
和大多数编程语言一样,PHP是一种命令式语言。这意味着你做事的顺序很重要。在调用getPageTitle2
时,未设置变量$this->Header
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
这听起来难以置信。你确定你没有跑步吗:
$this->getPageTitle2();
$this->setPageTitle("test");
和大多数编程语言一样,PHP是一种命令式语言。这意味着你做事的顺序很重要。在调用getPageTitle2
时,未设置变量$this->Header
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;
我猜你在做这样的事情:
$profile = new Profile();
$profile->setPageTitle("test");
$profile->getPageTitle2();
这将产生以下输出:
S: testG: test
如果你echo$profile
你就可以
test
那么,你认为问题出在哪里,或者你没有完成你想做的事情是什么
另外,我可能会将$Heading
声明为
private $heading;
请提供调用这些方法的代码。整个代码位于www.fearghal.com/Untitled-1.phps。函数名为SetContent()和getPageContents()。。。他们调用的函数是问题。请提供调用方法的代码。整个代码位于www.fearghal.com/Untitled-1.phps。函数名为SetContent()和getPageContents()。。。是的,我的类开始时是这样的:class Profile{var$Heading;但是$title是否也需要这样做,即使它直接输入到函数中?是的,我的类开始时是这样的:class Profile{var$Heading;$title是否也需要这样做,即使它直接输入函数中?我还有其他函数//(唯一调用set函数的函数)函数getPageContents(){$this->setPageTitle(“test”);},另一个函数setContent//运行getPageTitle2{echo'.$this->getPageTitle2();}所以我认为函数在类中的位置并不重要。也许getPageContents()必须放在Set()之上?@Fergs方法在类中的位置无关紧要,我可以保证这一点。在调用setPageTitle()之前,代码中的某个地方显式调用了getPageTitle2()-没有隐式或自动方式调用名为getPageTitle2的方法。这就是我的想法:我已经将代码上传到了www.fearghal.com/untitle-1.phps,它是半大型的,但是SetContent和getPageContents都在那里,并调用有问题的函数……你能看一下吗?@fergs,代码只是一个类。它不会做任何事情你的问题可能在于使用该类的代码。我还有其他函数//(唯一调用set函数的函数)函数getPageContents(){$this->setPageTitle(“test”);},另一个函数setContent//运行getPageTitle2{echo'.$this->getPageTitle2()。';}所以我认为函数在类中的位置并不重要。也许getPageContents()必须放在Set()之上?@Fergs方法在类中的位置无关紧要,我可以保证这一点。在调用setPageTitle()之前,代码中的某个地方显式调用了getPageTitle2()-没有隐式或自动方式调用名为getPageTitle2的方法。这就是我的想法:我已经将代码上传到了www.fearghal.com/untitle-1.phps,它是半大型的,但是SetContent和getPageContents都在那里,并调用有问题的函数……你能看一下吗?@fergs,代码只是一个类。它不会做任何事情你的问题可能在于使用该类的代码。