我在运行PHP 5.3的LAMP堆栈上使用Zend Framework 2(ZF2),并且内置的转换功能开箱即用,并且完全按照我的预期工作。
对于那些不熟悉的人,这里是一个示例:
<?php echo $this->translate("Company")?>
据我对它如何工作的理解,它是一个视图帮助器,可用于转换任何视图.phtml文件上的字符串。它从语言文件(使用PoEdit创建的.PO文件)中获取适当的本地化字符串(在本例中为“ Company” )。
我大约有250个本地化的字符串,为了减少翻译的可维护性,我希望减少重复的字符串,但是如果性能受到影响,我将选择性能以降低ZF2的速度。无论在什么地方显示UI文本,我都会在视图中使用这些转换功能,如果有更有效的处理方法,我也不想滥用帮助程序。
以下哪项将产生更好的性能?strtoupper是否比对翻译助手的额外调用要昂贵?
<?php echo $this->translate('Company')?> //# Mixed Case Uses String #1
<?php echo $this->translate('COMPANY')?> //# UPPERCASE Uses String #2
<?php echo strtoupper( $this->translate('Company') ) ?> //# String #1
注意:由于PoEdit将COMPANY和Company存储为两个单独的字符串,因此前两个将需要对翻译助手的两个不同调用,以及两个不同的字符串要翻译。
虽然我熟悉ZF2和PHP,但作为一名“自学成才”的程序员,我还是很坚强。右脚。
正如Tim所建议的那样,不要使用CSS来复杂化服务器端的内容,而可以使用CSS来转换客户端的文本。
的CSS
.uppercase{ text-transform:uppercase; }
的HTML
<span class="uppercase"><?php echo $this->translate('Company')?></span>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句