我想了解codeigniter路由是如何工作的。
我知道codeigniter将url解释为www.example.com/class/function/id。我在下面定义了这个url,但它会将我返回到我当前所在的页面。例如,在about.php页面上,它会返回到同一页面
$route['webadmin/teacher/class/subject/(:num)/(:num)'] = "admin/teacher_details/$1/$2";
在我的管理控制器中,我将teacher_details定义为
public function teacher_details($a='', $b = '', $c ''){}
我想要的是将定义的url呈现为控制器admin/teacher/details 的www.example.com/webadmin/teacher/class/suubject/id1/id2
codeigner支持基于分段的url,而不是类似查询在中,我们将url作为domain/controller/functionname/参数传递。假设您已经创建了一个名为demo的控制器,其功能为demo_function
class Demo extends CI_Controller
{
public function demo_function($id='')
{
echo "demo"
}
}
then you will create route in config/route.php
$route['demo/(:num)'] = 'demo/demo_function';
you can access parameter of url like $this->url->segment(3)
or $this->input->get('parament_name');