PHP单例无法访问

时间:2013-02-11 12:17:05

标签: php singleton

我在使用php 5.3中的单例工作时遇到了一些问题

我想要实现的是,我将能够在一个类中包含一个php文件, 这让我可以通过全球单身人士的字典来翻译网页。

用法示例:

<?php
    include_once "CLocale.php";
?>
//...
<head>
<title><?php CLocale::Instance()->getText("StrMemberArea")?></title>

我的班级目前看起来如下:

class CLocale
{
    private function __clone()
    {
    }

    public static function Instance()
    {
        if (static::$_instance === NULL)
        {
            static::$_instance = new static();
        }
        return static::$_instance;
    }

    private function __construct()
    {
    }

    public function getText($str)
    {
        return "Test";
    }
}

所以,问题是,当使用如上所示的类时,我没有得到任何“Test”的输出, 另外,我没有任何错误。 PHP Storm并没有真正向我显示任何错误。 也许你们其中一个人能够在某个地方发现问题。

提前致谢, calav3ra

PS:我不介意如何实施单身人士

3 个答案:

答案 0 :(得分:3)

哟忘了回应结果

<title><?php CLocale::Instance()->getText("StrMemberArea")?></title>

应该是:

<title><?php echo CLocale::Instance()->getText("StrMemberArea")?></title>

答案 1 :(得分:2)

Ehm - Singleton代码是完全正确的,但是你忘了从getText输出返回值

<?php
    include_once "CLocale.php";
?>
//...
<head>
<title><?php echo CLocale::Instance()->getText("StrMemberArea")?></title>

答案 2 :(得分:2)

要显示任何内容,您不仅需要将其返回,还需要echoprint。像这样:

<title><?php echo CLocale::Instance()->getText("StrMemberArea")?></title>