第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在線等,挺急的!define定義常量后怎么覆蓋或者讓先前定義的失效

在線等,挺急的!define定義常量后怎么覆蓋或者讓先前定義的失效

眼眸繁星 2019-09-12 20:48:18
前提:發(fā)送郵件,根據(jù)客戶語種加載不同語言包模板,發(fā)送不同語種的郵件目前在循環(huán)中發(fā)送郵件后,require語言包的時(shí)候常量都是取的第一次define的常量值,如果第一次加載是英語語言包,后面即便是俄語客戶,加載了俄語語言包后,郵件里面的內(nèi)容依然是英語;現(xiàn)在有沒有什么好的解決方案?類似代碼如下:functionsendEmail($languageId){switch($languageId){case1:require('email_en.php');break;case2:require('email_ru.php');break;default:require('email_en.php');break;}}$emailData=[['id'=>1,'language_id'=>1],['id'=>2,'language_id'=>2],['id'=>3,'language_id'=>3],['id'=>4,'language_id'=>4],];foreach($emailDataas$v){sendEmail($v['language_id']);}
查看完整描述

2 回答

?
慕絲7291255

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

define定義的是常量,不能重定義吧。只能換一種方式了,用$GLOBALS什么的。還可以email_en.php返回?cái)?shù)據(jù)
switch($languageId){
case1:
$emailData=require('email_en.php');
break;
case2:
$emailData=require('email_ru.php');
break;
default:
$emailData=require('email_en.php');
break;
}
//dosomethingwith$emailData...
                            
查看完整回答
反對 回復(fù) 2019-09-12
?
收到一只叮咚

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊

常量是不能改變的。
//email_en.php
return[
'_NAME_'=>'name',
//.....
];
//sendEmail.php
$language=require('email_en.php');
另外,語言包不大的話,可以一次性全部載入。
$languages=[
1=>require('email_en.php'),
2=>require('email_ru.php'),
//...
];
$language=$languages[$language_id];
                            
查看完整回答
反對 回復(fù) 2019-09-12
  • 2 回答
  • 0 關(guān)注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號