我正在尝试(以并行方式,就是这样,因为我们仍在为我们的主要应用程序开发 PHP 5.2.x)使我们当前的应用程序适应 PHP 5.4.x(使用 Apache 2.4.2 和 PHP 5.4.1在我们的测试服务器中)但是当我们在测试服务器中运行它们时,我在当前的应用程序中发现了一些警告。
例如......我们在当前应用程序中使用常量定义,该函数检测语言并加载包含定义的语言文件,如idiomas/ lang .php,是lang一个 2 位数的语言表示(es,us,德等)。
在每个语言文件中都有一些像这样的定义:
define("IDIOMA_AF", "Afrikaans");
define("IDIOMA_AR", "العربية");
define("IDIOMA_BG", "български език");
因此,当我们想要输出给定的翻译文本时,我们这样做:
<?php echo IDIOMA_AF; ?>
当应用程序被抛出时,PHP 5.4.1 输出的消息如下:
Notice: Constant IDIOMA_AF already defined in D:\apache\htdocs\aplicacion\modulos\base\idiomas\es.php on line 34
有没有人有同样的问题?我想了解一下您的经验,因为知道如何解决这些问题会很有用。我们正在考虑使用 gettext 实现一个更好的系统(我认为从长远来看它更有条理并且更容易处理,但仍然......),尽管我们希望在升级它们之前运行我们当前的应用程序一段时间。