考虑这个 Prestashop 1.7 模块 M:
class M extends Module
{
public function __construct()
{
$this->c = new Negoce\Classes\C($this);
}
}
如您所见,我将它的实例赋予一个类C。后者的代码是:
class C {
public function __construct($mod) {
$mod->registerHook('actionObjectCustomerAddAfter');
}
public function hookActionObjectCustomerAddAfter($data) {
$client = $data['object'];
echo '<pre>';
echo ' $client ';
var_dump($client);
echo '</pre>';
exit;
}
}
预期的行为是:如果我在 Prestashop 中创建客户,则执行转储,然后执行转储exit,从而生成带有转储文本的空白页。
实际行为是:如果我在 Prestashop 中创建客户,则不会执行转储,也不会执行转储exit,导致客户列表页面显示新创建的客户,并通知我新客户已创建。
可以通过不使用类C并在类中移动后者的代码来获得预期的行为M。C但是,出于 lisibility 和可维护性的目的,我真的想委托给。
我怎么能做到?为什么它不起作用?
largeQ