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 關注
- 160 瀏覽
添加回答
舉報