Prestashop 中的覆盖是如何工作的
how overriding in Prestashop works
当我们在覆盖 class 中模仿一个函数时,Prestashop 是简单地将整个函数替换为原始函数还是附加到它。例如
/mymodule/override/classes/Product.php:
class Product extends ProductCore {
public function add() {
// some function
}
}
它是要追加 // some function
还是要替换整个 class add()
简短的回答是它将替换整个函数。你应该看看 PHP classes heritage mechanism.
您仍然可以通过在代码中添加 parent::add()
来在覆盖中执行原始 Product add()
方法。
class Product extends ProductCore {
public function add() {
// do something before adding
parent::add();
}
}
当我们在覆盖 class 中模仿一个函数时,Prestashop 是简单地将整个函数替换为原始函数还是附加到它。例如
/mymodule/override/classes/Product.php:
class Product extends ProductCore {
public function add() {
// some function
}
}
它是要追加 // some function
还是要替换整个 class add()
简短的回答是它将替换整个函数。你应该看看 PHP classes heritage mechanism.
您仍然可以通过在代码中添加 parent::add()
来在覆盖中执行原始 Product add()
方法。
class Product extends ProductCore {
public function add() {
// do something before adding
parent::add();
}
}