安装脚本遇‘Can't use method return value in write context’错误求代码修复方案
解决PHP错误:Can't use method return value in write context
这个错误的核心原因很明确:在PHP 5.5及更早版本中,empty()函数不能直接接收方法的返回值——它要求传入一个变量,而非表达式(比如方法调用的结果)。你代码里的empty($this->_getPrivateStripeKey())这一行,正好触发了这个语法限制。
修改后的代码:
public function _creditCardEnabled(){ $stripeKey = $this->_getPrivateStripeKey(); if(is_null($stripeKey) || empty($stripeKey)) return false; return intval($this->_getSettingsAttribute('creditcard_enabled')) == 1; }
改动说明:
- 先把
_getPrivateStripeKey()的返回值存入临时变量$stripeKey - 再将这个变量传给
is_null()和empty(),完美适配PHP旧版本的语法要求 - 后面的
intval()部分无需改动,因为它支持直接接收方法返回值
如果你的服务器已经升级到PHP 5.5+,原本的写法其实是合法的,但用临时变量的写法能兼容更多运行环境,稳定性更强。
内容的提问来源于stack exchange,提问作者Zain Azeem
相关产品推荐
相关产品推荐

