2 回答
TA贡献1848条经验 获得超6个赞
我将假设您的实际功能比您发布的功能更多,否则您实际上并不需要功能并且可以简单地执行此操作:
$brand_obj = new Brands;
$brand_obj->create_brand_table();
$brand_obj->delete_brand_table();
否则,您可以创建一个类并Brands通过其构造函数将依赖项注入其属性之一:
class TablesManager
{
private $brands;
public function __construct(Brands $brands)
{
$this->brands = $brands;
}
public function create_tables(): void
{
$this->brands->create_brand_table();
}
public function delete_tables(): void
{
$this->brands->delete_brand_table();
}
}
用法:
$brands = new Brands();
$tables_manager = new TablesManager($brands);
$tables_manager->create_tables();
$tables_manager->delete_tables();
注意:调用课程SomethingManager有时被认为是不好的做法/表明该课程做了太多事情。考虑(至少)根据您的需要给它一个更准确的名称。
演示:https ://3v4l.org/iTmY6
非 OOP 替代方案
function create_tables(Brands $brand_obj): void {
$brand_obj->create_brand_table();
}
function delete_tables(Brands $brand_obj): void {
$brand_obj->delete_brand_table();
}
$brand_obj = new Brands();
create_tables($brand_obj);
delete_tables($brand_obj);
TA贡献1872条经验 获得超4个赞
您可以使用 global 关键字在函数内部使用在函数外部创建的变量:
global $object
代码示例:
include_once PLUGIN_DIR_PATH."/classes/Brands.php";
$brand_obj = new Brands;
function create_tables(){
global $brand_obj;
$brand_obj->create_brand_table();
}
function delete_tables() {
global $brand_obj;
$brand_obj->delete_brand_table();
}
- 2 回答
- 0 关注
- 210 浏览
添加回答
举报
