我正在玩钩子函数,钩子会调用另一个对象的方法,在返回之前更改父函数中$ price的最佳方法是什么?
function _product_price ($price,$taxable = true)
{
$shop->_hook('PRODUCT_PRICE_BEFORE');
$price = 100.00;
$shop->_hook('PRODUCT_PRICE_AFTER');
return number_format($price,2);
}
谢谢大家,这是一个合适的解决方案吗?
function _product_price ($price,$taxable = true)
{
global $shop;
$shop->_hook('PRODUCT_PRICE_BEFORE');
$price = 100.00;
$shop->passedArgs['price'] = $price;
$shop->_hook('PRODUCT_PRICE_AFTER');
return number_format($shop->passedArgs['price'],2);
}
function _hook ()
{
global $shop;
$shop->passedArgs['price'] = 23.00;
return;
}
答案 0 :(得分:2)
由于您可能想要为钩子注册任意方法,请查看
答案 1 :(得分:1)
我将变量传递给了这一点:
array('price' => &$price);
会在稍后的函数中对$var['price']
变量进行任何更改/更深入地反映在'范围内'$price
中。