Prestashop 模块奇怪的问题
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') : ' ';
我将在这里为来自 google 个结果的人解释。
empty(someFunction())
产生错误,因为
Note:
Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.
http://php.net/manual/en/function.empty.php
在 Prestashop 方法中 Tools::getValue()
可以使用默认值,
public 静态函数 getValue($key, $default_value = false)
{
因此您可以使用 Tools::getValue('fname', '');
并且返回值将包含或 'fname' 的值或空字符串,在这种情况下。
我正在 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') : ' ';
我将在这里为来自 google 个结果的人解释。
empty(someFunction())
产生错误,因为
Note: Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.
http://php.net/manual/en/function.empty.php
在 Prestashop 方法中
Tools::getValue()
可以使用默认值,public 静态函数 getValue($key, $default_value = false) {
因此您可以使用 Tools::getValue('fname', '');
并且返回值将包含或 'fname' 的值或空字符串,在这种情况下。