当前位置:  开发笔记 > 编程语言 > 正文

PHP - 成员封装返回奇怪的引用

如何解决《PHP-成员封装返回奇怪的引用》经验,为你挑选了1个好方法。

我有一个有私人会员的班级$content.这是由get方法包装的:

class ContentHolder
{
    private $content;
    public function __construct()
    {
        $this->content = "";
    }

    public function getContent()
    {
        return $this->content;
    }
}
$c = new ContentHolder();
$foo = array();
$foo['c'] = $c->getContent();

现在$foo['c']是一个参考content,这是我不明白的.我怎样才能获得价值?先感谢您.



1> Jeremy Ruten..:

我刚试过你的代码而$foo['c']不是参考$content.(分配新值$foo['c']不会影响$content.)

默认情况下,所有PHP函数/方法都按值传递参数并按值返回.要通过引用返回,您需要将此语法用于方法定义:

public function &getContent()
{
    return $this->content;
}

调用方法时这个语法:

$foo['c'] = &$c->getContent();

见http://ca.php.net/manual/en/language.references.return.php.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有