2016-07-12 44 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对象中检索信息。

相关问题