Codeigniter加入多个控制器

时间:2017-04-19 10:08:35

标签: php codeigniter controllers

我正在寻找在多个控制器中使用控制器功能的最佳方法/解决方案 - 在一个管理界面中使用多个应用程序。

换句话说:我需要在3个子页面中使用一个子页面(用户):

控制器:

  • 网上商店-settings.php文件
  • 网络的settings.php
  • 另一个-settings.php文件

所有控制器都有自己的功能和接口。

admin - >控制器 - > eshop-settings.php包含子页面/函数:

  • transport:/ admin / eshop-settings / transport /
  • 价格:/ admin / eshop-settings / prices /
  • 用户: / admin / eshop-settings / users /(标签。所有用户,标签。用户 - 权限)
  • user_edit

admin - >控制器 - > web-settings.php包含子页面/函数:

  • 页面:/ admin / web-settings / pages /
  • 组:/ admin / web-settings / groups /
  • 用户: / admin / web-settings / users /(标签。所有用户,标签。用户 - 会话)
  • users_edit

...等

所有控制器都有子页“用户”,但不是所有功能(fe。tab。所有用户)和“ user_edit ”,

是否可以在Codeigniter中加入控制器或将部件控制器添加到另一个?

或者我需要创建“用户”功能并将它们调用给其他控制器和他的界面。

由于

1 个答案:

答案 0 :(得分:0)

控制器应该只调用服务并将数据传递给这些服务,接收数据并发送到视图。也许赶上例外。

将您的业务逻辑从控制器中取出,并为共享功能创建服务类。

然后你可以做这样的事情:

$svc = new UserService($dbConnection);
$user = $svc->getUserByEmail('coder@work.com');