Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP类变量访问问题_Php_Class - Fatal编程技术网

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,代码只是一个类。它不会做任何事情你的问题可能在于使用该类的代码。