好的,伙计们,情况就是这样......
我正在使用"No one"
创建它的旧项目(目前所有都在localhost中)。对于新功能,我在CodeIgniter v2
文件夹
v1
的文件夹
项目结构:
控制器
API
V1
visit.php
orders.php
controller1.php
controller2.php
问题是我无法访问api
控制器
为了测试目的,我将visit.php
文件夹中的visit
控制器设置为访问它:
api
localhost/projectname/index.php/api/visit/visits
是visits
控制器中的函数
用这种方式一切正常!!但是,当我在visit
文件夹中设置访问控制器时,我得到404页面未找到错误。
v1
附加
另一个需要记住的想法是。这个项目使用一个库来访问REST API,所以在localhost/projectname/index.php/api/v1/visit/visits
控制器中有函数
visit
因此,将根据请求方法调用该函数
我一直在阅读,我发现我必须配置route.php,实际上我做了但没有成功。
谢谢,我希望你明白我在问什么!
ROUTE.php
public function visits_get(){
// return an arrays of visits
}
public function visits_post(){
// to add a new visit in a bd
}
这就是route.php中的所有内容._。
答案 0 :(得分:0)
据我所知,任何超出application/controllers/controller_name.php
命名约定的控制器都需要在routes.php
文件中明确定义,否则CI不会查看子文件夹。这不是什么大问题,实际上,为你的控制器添加这样的东西:
//You'll need to do this for all of your API controllers, unfortunately
$route['api/v1/(:any)'] = 'api/v1/$1';
//If you have controllers taking arguments, eg. /api/v1/stuff/1
$route['api/v1/(:any)/(:any)'] = 'api/v1/$1/$2';
//Catch-all route for 404's, recommended
$route['api/(:any)'] = 'api/v1/error_api';
有关详细信息,请查看routing docs for CodeIgniter 2。