如何在CodeIgniter中使用多个控制器?

时间:2018-12-05 18:18:16

标签: codeigniter codeigniter-3

我需要在CodeIgniter 3中使用2个控制器。我有Welcome和Paypal控制器。在路由中,以前我有以下代码:

$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

然后添加贝宝,我尝试了以下代码,这些代码无济于事:

//$route['(:any)'] = 'paypal/index';
//$route['Paypal'] = 'paypal/index';
//$route['Welcome/Paypal/(:any)'] = 'welcome/index';

我分别或同时尝试了它们,但仍然得到了这个结果:

404 Page Not Found
The page you requested was not found.

同时使用Paypal控制器我需要写什么?

2 个答案:

答案 0 :(得分:1)

例如,如果您想转到URL https://example.com/paypal,并且在Paypal控制器具有index功能的情况下不需要路由。

如果您想要一种“购买”使用URL https://example.com/buy/socks的袜子,但想使用PayPal控制器方法buy($item)处理此袜子的方法,则需要{{1} }。

$route

但是,如果您的“购买” URL为$route['buy/(:any)'] = 'paypal/buy/$1';

,则不需要路线

唯一需要定义https://example.com/paypal/buy/socks的地方是您要偏离CodeIgniter的$route URI模式。

您的问题可能与路线无关。确定您遵循CodeIgniter规则进行控制器文件和类命名?文件名必须以大写字母开头,即controller/function[/arg1[/arg2[...]],并且类定义必须与文件名完全匹配。即

Paypal.php

答案 1 :(得分:0)

我从您的问题中得到的是您希望将paypal控制器重新路由或重定向到welcome控制器。

如果我做对了,您可以在redirect控制器中使用paypal ..在redirectconstruct中使用index将您重定向到welcome控制器