今天這篇文章主要是在項目中遇到了一個小問題:
給一個類里面的靜態(tài)數(shù)組里面的元素賦值時遇到的,
public static $msgTemplate = [
self::MSG_TEMPLATE_AFTER_GOODS_ORDER => '恭喜您,消耗%s積分,成功兌換%s,多賺積分,把更多好禮帶回家吧!',
];
$a=10;
本來想 '恭喜您,消耗%s積分,成功兌換%s,多賺積'.$a.'分,把更多好禮帶回家吧!'
成都創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、曲靖網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計、商城網(wǎng)站制作、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為曲靖等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
結(jié)果一直報錯: PHP Fatal error: Constant expression contains invalid operations in.
想了一下,估計是static的問題。
靜態(tài)聲明是在編譯時解析的。http://php.net/manual/zh/language.variables.scope.php
如果在聲明中用表達式的結(jié)果對其賦值會導(dǎo)致解析錯誤。
<?php
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;
}
?>
然后類似的還有初始化類成員變量
<?php
namespace App;
class Amazon{
protected $serviceURL = config('api.amazon.service_url');
public function __construct()
{
}}
解決方案
<?php
namespace App;
class Amazon
{
protected $serviceURL;
public function __construct()
{
$this->serviceURL = config('api.amazon.service_url');
}
}
總結(jié):static變量的初始化不能使用表達式的結(jié)果
本文題目:staticConstantexpressioncontainsinvalidoperat
當(dāng)前網(wǎng)址:http://m.rwnh.cn/article32/jepepc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、做網(wǎng)站、建站公司、品牌網(wǎng)站設(shè)計、微信小程序、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)