Codeigniter,是否可以有一个可变的公共函数名?

时间:2016-03-27 07:36:19

标签: php mysql codeigniter

我继续在CodeIgniter框架中开发我的网站,我非常高兴我所做的选择,因为它非常简单且代码很干净。 下面我将解释我目前的问题。

在我编写的一个控制器中:

public function abcd() {
   //CONTENT of the controller public function      
}

是否可以通过动态改变" abcd()"例如,从mySQL获取值的名称? 为了更清楚,我想使用一个声明,允许我总是使用控制器的相同内容,但用于不同的公共功能。

1 个答案:

答案 0 :(得分:0)

您可以使用config / routes.php

中的ROUTE更改控制器功能名称
$route['dynamic_name'] = "controller_name/abcd";

无论您更改路线名称,网址中的控制器都会更改

之前

http://domain.name/index.php/welcome/abcd

http://domain.name/index.php/welcome/dynamic_name

也可以为same_url添加多个路径

如果你想从db获取值,请使用config / routes.php

中的代码
require_once( BASEPATH .'database/DB'. EXT );
$db =& DB();
$query = $db->get('menus');
$names = $query->result();

foreach ($names as $key => $name) { 
$route[$name] = "controller_name/abcd";
}