[英]Prestashop module weird issue
我正在prestashop开发一个自定义模块。 因为我在这样的函数中取得了价值
$fname = !empty(Tools::getValue('fname')) ? Tools::getValue('fname') : '';
但它显示这样的错误
Fatal error: Can't use function return value in write context
那么有人可以告诉我为什么错误在这里? 如何解决这个问题?
我得到了答案。 它应该是这样的
Tools::getValue('fname') ? Tools::getValue('fname') : ' ';
我只是在这里为谷歌搜索结果的人解释。
empty(someFunction())
创建错误,因为 注意:在PHP 5.5之前,empty()仅支持变量; 其他任何东西都会导致解析错误。 换句话说,以下将不起作用:empty(trim($ name))。 相反,使用trim($ name)== false。
http://php.net/manual/en/function.empty.php
在Prestashop方法中, Tools::getValue()
有可能使用默认值,
public static function getValue($ key,$ default_value = false){
所以你可以使用Tools::getValue('fname', '');
在这种情况下,返回值将包含'fname'或空字符串的值或值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.