我有CodeIgniter的问题;我有一个名为site
的控制器,在此控制器中有两种方法:production
和story
。
production
通过创建production/slug
的模型调用特定作品。
我想要实现的是创建以下网址:
site/production/slug/story
我如何实现这一目标?随着slug的变化,在故事中我想用$this->uri->segment(3)
从数据库中调出一个故事。
答案 0 :(得分:1)
您可以发布多个参数:
URI: site/production/slug/story/5
public function production($one, $two, $there)
{
echo $one."<br />";
echo $two."<br />";
echo $there."<br />";
}
# OUTPUT
slug
story
5
答案 1 :(得分:0)
将method
名称作为第二个参数传递给第一个方法。
例如,如果URI为site/production/slug/story
,请将story
传递给production
方法并执行必要的检查,如下所示:
class Site extends CI_Controller {
public function __construct()
{
parent::__construct()
}
public function story($text) {
echo $text;
}
public function production($slug = '', $callback = NULL)
{
// Do something with $slug
if (isset($callback) && method_exists(__CLASS__, $callback)) {
$this->{$callback}($slug);
}
}
}
<强> PHPFiddle Demo 强>