十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
今天這篇文章主要是在項(xiàng)目中遇到了一個(gè)小問(wèn)題:
給一個(gè)類(lèi)里面的靜態(tài)數(shù)組里面的元素賦值時(shí)遇到的,
public static $msgTemplate = [
self::MSG_TEMPLATE_AFTER_GOODS_ORDER => '恭喜您,消耗%s積分,成功兌換%s,多賺積分,把更多好禮帶回家吧!',
];
$a=10;
本來(lái)想 '恭喜您,消耗%s積分,成功兌換%s,多賺積'.$a.'分,把更多好禮帶回家吧!'
成都創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)全網(wǎng)整合營(yíng)銷(xiāo)推廣、網(wǎng)站重做改版、曲靖網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為曲靖等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
結(jié)果一直報(bào)錯(cuò): PHP Fatal error: Constant expression contains invalid operations in.
想了一下,估計(jì)是static的問(wèn)題。
靜態(tài)聲明是在編譯時(shí)解析的。http://php.net/manual/zh/language.variables.scope.php
如果在聲明中用表達(dá)式的結(jié)果對(duì)其賦值會(huì)導(dǎo)致解析錯(cuò)誤。
function foo(){
static $int = 0; // correct
static $int = 1+2; // wrong (as it is an expression)
static $int = sqrt(121); // wrong (as it is an expression too)
$int++;
echo $int;
}
?>
然后類(lèi)似的還有初始化類(lèi)成員變量
解決方案
namespace App;
class Amazon
{
protected $serviceURL;
public function __construct()
{
$this->serviceURL = config('api.amazon.service_url');
}
}
總結(jié):static變量的初始化不能使用表達(dá)式的結(jié)果