2016-07-12 46 views
1

我需要根據公司名稱更改控制器的功能名稱。CodeIgniter:如何動態更改控制器名稱

以下是稱爲公司的功能。現在,如果公司XXX已經登錄,我需要使用XXX更改函數名稱。

例子: http://example.com/projects/app/XXX

$company = getCompanyName(); 
public function $company { 

    //code... 

    } 

如何動態設置功能的名稱?

+1

爲什麼不使用方法參數? –

+0

codeigniter中的路由https://www.codeigniter.com/userguide3/general/routing.html –

+0

爲什麼您需要動態創建函數名稱,而不是您可以在url中顯示公司名稱並從數據庫中提取相應的數據或使用廣義函數的其他地方。也許你可以在出現公司名稱的那部分URL中使用(:any),並將其引導到廣義函數,以根據公司名稱或ID獲取關於公司的信息。 – Learner

回答

0

我還沒有見過這種模式。

而我不認爲它可能在PHP中使用變量來命名函數,就像您在代碼中提到的那樣。

我認爲合適的方法是使用方法參數。代碼示例如下:

public function controllerAction(Request $request) 
    $company = getCompanyName($request); 
    $this->method($company); 
    //code... 

    } 
public function method($company) 

    //code... 

    } 

正如您所看到的,此方法要求您從Request對象中檢索信息。

相關問題