PHP单例不可访问


PHP singleton not accessible

我在让一个单例在php5.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:我不介意单例是如何实现的

Yo忘记回显结果

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

应该是:

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

Ehm-Singleton代码完全正确,但您忘记从getText 输出返回值

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

要显示任何内容,您不仅需要返回它,还需要返回echoprint

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