我正在尝试为一个针对不同供应商检查库存的网上商店编写一个 php 脚本。不幸的是,这样做的方法对于每个供应商来说都是完全不同的。我有一个工作例程,但与其编写六个略有不同的脚本,我宁愿使用相同的核心,并且为每个供应商提供单独的解析例程。这样我就可以通过编写一个新的解析文件并将其放在正确的位置来添加对新供应商的支持。
我最初设想的是
$ref = "123456";
$supplier = new Supplier("CompanyOne");
$product = $supplier->getproduct($ref);
echo "Product with supplier reference " . $ref . " is " . $product["name"];
供应商是
class Supplier{
function __construct($sup = "") {
$f = "supplier_" . $sup . ".php";
if (file_exists($f)) {
include_once $f;
}
}
}
getproduct() 在包含的文件中,因为每个文件都不同。
不过,我不确定这是否可行,因为我认为包含的例程最终会出现在构造函数的上下文中,而不是类本身。
这一定是一种常见的情况,但我已经花了很长时间研究包含、扩展、回调等,并尝试在谷歌上搜索所有方法来描述我想做的事情以找到最好的方法,但没有想出任何事物。
我在吠叫错误的树吗?最好的方法是什么,记住我想包含几组不同的代码,直到运行时我才知道它们的名称?