首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在CodeIgniter中使用多个控制器?

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

Stack Overflow用户
提问于 2018-12-06 02:18:16
回答 2查看 127关注 0票数 0

我需要使用2个控制器在CodeIgniter 3。我有欢迎和贝宝控制器。在路由中,之前我有以下代码:

代码语言:javascript
复制
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

然后,为了添加Paypal,我尝试了以下代码,这些代码没有什么帮助:

代码语言:javascript
复制
//$route['(:any)'] = 'paypal/index';
//$route['Paypal'] = 'paypal/index';
//$route['Welcome/Paypal/(:any)'] = 'welcome/index';

我分别尝试了它们,也一起尝试了,但我仍然得到了这个结果:

代码语言:javascript
复制
404 Page Not Found
The page you requested was not found.

我需要写什么,以使用我的Paypal控制器以及?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-06 04:39:09

例如,如果您想要转到URL,如果https://example.com/paypal控制器具有index功能,则不需要路由。

如果您想要一种方法来“购买”一双使用URL https://example.com/buy/socks的袜子,但又想使用PayPal控制器方法buy($item)处理此请求,那么您需要一个$route

代码语言:javascript
复制
$route['buy/(:any)'] = 'paypal/buy/$1';

但是,如果您的“购买”URL是https://example.com/paypal/buy/socks,则不需要路由

当您想要偏离CodeIgniter的controller/function[/arg1[/arg2[...]] URI模式时,惟一需要定义$route的时候。

您的问题可能与路由无关。确保您遵循了控制器文件和类命名的CodeIgniter规则?文件名必须以大写字母开头,即Paypal.php,并且类定义必须与文件名完全匹配。即

代码语言:javascript
复制
class Paypal extends CI_Controller {
票数 1
EN

Stack Overflow用户

发布于 2018-12-06 02:50:01

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

如果我没弄错的话,你可以用redirect简单地做到这一点。在paypal控制器中,使用constructindexredirect将您重定向到welcome控制器

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53638443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档