Php 跨语言交际

Php 跨语言交际,php,Php,我正在将网站翻译成不同的语言,我在这个函数旁边停了下来,因为我无法用$AppUI->(('computing..')替换“Skaiciavimas jau vykdomas”。我怎么可能把它修好呢 public function BeginCalc() { if($this->getActive()) { echo "Skaiciavimas jau vykdomas"; } else { $this->_Beg

我正在将网站翻译成不同的语言,我在这个函数旁边停了下来,因为我无法用
$AppUI->(('computing..')
替换“Skaiciavimas jau vykdomas”。我怎么可能把它修好呢

public function BeginCalc()
{
    if($this->getActive())
    {
        echo "Skaiciavimas jau vykdomas";
    }
    else
    {
        $this->_BeginCalculation();
        echo "Skaiciavimas pradetas";
    }
}

正如注释中所解释的,这里的问题是在函数
BeginCalc()
中没有变量
$AppUI
。它应该从哪里来?从天上掉下来?用魔法出现?您必须创建它,或者必须将其作为参数移交给函数,如下所示:

<?php
public function BeginCalc($AppUI)
{
    if($this->getActive())
    {
        $AppUI->_('Calculating..');
    }
    else
    {
        $this->_BeginCalculation();
        echo "Skaiciavimas pradetas";
    }
}
BeginCalc($AppUI);

我们不能说更多了,因为您不知道
$AppUI
是什么意思,它应该从哪里来……

不清楚您要问什么。您的代码中没有
$AppUI->(('computing..')
。。。如果您正在谈论更换第一条回显线路,那么
$AppUI
应该来自哪里?它可能在该位置未定义。您可能希望将该对象(如果它存在于调用范围中)作为参数传递给函数。但是如果你不发布更多的代码,我们就说不出来。我想用$AppUI->('cuculating..')替换“Skaiciavimas jau vykdomas”,我想问,如果不是,我是否可以删除这个主题>我在上面的评论中回答了这个问题。你在评论中有什么不明白的吗?那就问吧!所有的代码,我需要用这个
$AppUI->('computing..')
来替换,因为我可以翻译这个计算。。。用其他语言。你明白吗?这个系统只会识别以这种方式书写的单词是的,我明白。但我上面写的仍然是一样的:
$AppUI
没有在该函数中定义。它应该从哪里来?这是编程中的一个基本问题:变量的范围。我还编写了上面的解决方案:将
$AppUI
作为参数交给函数。现在我明白了。因为问题非常不清楚(
$AppUI
可能是全局的,使
全局的$AppUI
成为更好的解决方案,或者它可能是另一个类的成员,或者…或者…)我建议删除答案,因为它不会最终试图回答问题。好吧,显然你猜对了,那就别管我了。@NielsKeurentjes使用
global$AppUI
never是一个很好的解决方案!它可能会工作,但这是一个糟糕的解决方案。如果
$AppUI
是一个全局变量,并且打算在全局范围内使用,那么它就是正确的解决方案。从显示的代码量中,您无法知道它是否坏——很可能是坏的,但这将是周围框架或应用程序中更高级别选择的结果。仅仅盲目地调用
global
邪恶就像经常发生的盲目调用
goto
eval
邪恶一样错误——所有这些构造都有其存在的理由和良好的用途,它们只是经常被滥用。但这并不意味着它们在特定情况下的谨慎使用无效。