在CodeIgniter的路由中使用HTTP谓词不会加载控制器是因为CodeIgniter默认的路由规则不支持使用HTTP谓词来调用控制器方法。HTTP谓词是指在HTTP协议中定义的一些动作,例如GET、POST、PUT、DELETE等。
在CodeIgniter中,默认的路由规则是基于URL中的控制器和方法来确定要调用的控制器和方法。例如,URL为http://example.com/index.php/controller/method
,CodeIgniter会加载controller
类,并调用其中的method
方法。
如果想要在CodeIgniter中使用HTTP谓词来调用控制器方法,可以通过自定义路由规则来实现。可以在application/config/routes.php
文件中添加自定义路由规则。以下是一个示例:
$route['api/users']['GET'] = 'api/users/index';
$route['api/users']['POST'] = 'api/users/create';
$route['api/users/(:num)']['GET'] = 'api/users/show/$1';
$route['api/users/(:num)']['PUT'] = 'api/users/update/$1';
$route['api/users/(:num)']['DELETE'] = 'api/users/delete/$1';
上述示例中,定义了一些使用HTTP谓词的路由规则,用于处理用户资源的API。例如,GET /api/users
会调用api/users
控制器的index
方法,POST /api/users
会调用api/users
控制器的create
方法,GET /api/users/1
会调用api/users
控制器的show
方法,并将1
作为参数传递给该方法。
领取专属 10元无门槛券
手把手带您无忧上云