Prestashop模块奇怪的问题

时间:2016-02-13 03:31:48

标签: php prestashop-1.6

我正在prestashop中开发一个自定义模块。在那里我已经在像这样的函数中取得了价值

$fname = !empty(Tools::getValue('fname')) ? Tools::getValue('fname') : '';

但它显示错误

Fatal error: Can't use function return value in write context

有人可以告诉我为什么错误在这里?如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

我得到了答案。它应该是这样的

Tools::getValue('fname') ? Tools::getValue('fname') : ' ';

答案 1 :(得分:0)

我将在这里为谷歌搜索结果中的某人解释。

  1. empty(someFunction())会产生错误,因为
  2.   

    注意:   在PHP 5.5之前,empty()仅支持变量;其他任何东西都会导致解析错误。换句话说,以下将不起作用:empty(trim($ name))。相反,使用trim($ name)== false。

    http://php.net/manual/en/function.empty.php

    1. 在Prestashop方法中,Tools::getValue()可以使用默认值

      public static function getValue($ key,$ default_value = false)     {

    2. 所以你可以使用Tools::getValue('fname', '');,并且在这种情况下,返回的值将包含'fname'或空字符串的值。