我正在使用常量来输出不同语言的输出消息.例如,如果用户选择"英语",则需要具有此常量的文件:
define('welcomeMessage','Welcome!');
Run Code Online (Sandbox Code Playgroud)
如果她选择"西班牙语":
define('welcomeMessage','Bien Venidos!');
Run Code Online (Sandbox Code Playgroud)
等等......
当用户迭代语言时会发生此问题.我不能用define/apc_define_constants重新定义常量(据我所知).我可以删除并重新定义它们吗?
这有一个很好的解决方案吗?
如果稍后可以更改值,则使用常量是没有意义的.我建议创建一个静态类,您可以在其中设置语言,而不是使用常量,您将从该类获得欢迎消息.让我们说这堂课名叫郎:
Lang::setLang('spanish');
Lang::getWelcome();
Run Code Online (Sandbox Code Playgroud)
getWelcome()方法使用setLang()检查lang值集并返回相应的已翻译字符串.
使用静态类意味着您不必实例化该类,并且所有其他代码都可以引用该静态类,而无需创建新实例并且必须设置所使用的语言.
| 归档时间: |
|
| 查看次数: |
7237 次 |
| 最近记录: |