2 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊
我將假設(shè)您的實(shí)際功能比您發(fā)布的功能更多,否則您實(shí)際上并不需要功能并且可以簡(jiǎn)單地執(zhí)行此操作:
$brand_obj = new Brands;
$brand_obj->create_brand_table();
$brand_obj->delete_brand_table();
否則,您可以創(chuàng)建一個(gè)類并Brands通過其構(gòu)造函數(shù)將依賴項(xiàng)注入其屬性之一:
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();
注意:調(diào)用課程SomethingManager有時(shí)被認(rèn)為是不好的做法/表明該課程做了太多事情??紤](至少)根據(jù)您的需要給它一個(gè)更準(zhǔn)確的名稱。
演示: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貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以使用 global 關(guān)鍵字在函數(shù)內(nèi)部使用在函數(shù)外部創(chuàng)建的變量:
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 關(guān)注
- 154 瀏覽
添加回答
舉報(bào)