Php Codeigniter,有可能有一个可变的公共函数名吗?
我继续在CodeIgniter框架中开发我的网站,我真的很高兴我所做的选择,因为它非常简单,代码也很干净。 下面我将解释我目前的问题 在我的一个控制器中,我写到:Php Codeigniter,有可能有一个可变的公共函数名吗?,php,mysql,codeigniter,Php,Mysql,Codeigniter,我继续在CodeIgniter框架中开发我的网站,我真的很高兴我所做的选择,因为它非常简单,代码也很干净。 下面我将解释我目前的问题 在我的一个控制器中,我写到: public function abcd() { //CONTENT of the controller public function } 是否可以通过友好方式更改“abcd()”名称,例如从mySQL获取值? 更清楚地说,我想使用一条语句,该语句允许我始终使用控制器的相同内容,但用于不同的公共函数。您可以使用c
public function abcd() {
//CONTENT of the controller public function
}
是否可以通过友好方式更改“abcd()”名称,例如从mySQL获取值?
更清楚地说,我想使用一条语句,该语句允许我始终使用控制器的相同内容,但用于不同的公共函数。您可以使用config/routes.php中的ROUTE更改控制器函数名
$route['dynamic_name'] = "controller_name/abcd";
无论何时更改路由名称,url中的控制器都将更改
以前
http://domain.name/index.php/welcome/abcd
之后
还可以为同一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";
}
您无法更改控制器文件中的控制器名称dynamic感谢Parthiban K的回复。我已经按照您在回复的第一部分中的建议做了(我必须尝试包含DB的部分),但是如果我只在route.php中输入$route['dynamic_name',],脚本会给我一个404错误。相反,如果我使用$route['controller\u name/dynamic\u name'],它会工作。考虑到这一点,如果我应该更新数据库代码……它会变成什么样子?按以下方式更新$route是否正确?=>$路线['controller_name/.$name]只需参考以下链接亲爱的Parthiban,不,我没有解决我的问题。如果我尝试按照您的建议实现数据库解决方案,我会收到一个500错误。
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";
}