Php 致命错误:在中找不到闭包的基lambda函数
我正在制作一个Magento-企业版。 我得到了一个致命错误: 当我将基于产品计数的过滤器属性的uasort函数应用于按产品计数排序时,在“过滤器中”中找不到闭包的基lambda函数 代码:Php 致命错误:在中找不到闭包的基lambda函数,php,magento,lambda,Php,Magento,Lambda,我正在制作一个Magento-企业版。 我得到了一个致命错误: 当我将基于产品计数的过滤器属性的uasort函数应用于按产品计数排序时,在“过滤器中”中找不到闭包的基lambda函数 代码: 请在这方面帮助我。谢谢。Lambda函数在Magento中无法正常工作。以下是解决方案: 1) 将函数添加到某些帮助程序,例如扩展: protected static function _compare($a, $b){ return ($a->getCount() - $b->ge
请在这方面帮助我。谢谢。Lambda函数在Magento中无法正常工作。以下是解决方案:
1) 将函数添加到某些帮助程序,例如扩展:
protected static function _compare($a, $b){
return ($a->getCount() - $b->getCount())* -1;
}
2) 使用下一种格式:
uasort($items, array('Your_Extension_Helper_Data', '_compare'));
即使启用了APC缓存,这也会起作用
另一个变体:将_compare函数添加到要使用uasort的当前文件中,在这种情况下,它将如下所示:
uasort($items, array($this, '_compare'));
或
您是否运行类似于
APC
的PHP缓存?当我阅读PHP错误跟踪器和这里的一些问题时,有时闭包确实存在缓存错误。请在测试时关闭apacheAPC
缓存,此错误经常与来自APC缓存的写入问题有关。您是否有PHP 5.3.2(或更早版本)?
uasort($items, array($this, '_compare'));
uasort($items, array('Name_Of_Your_Class', '_compare'));