我正在使用Codeigniter:我有两个控制器。他们使用不同的型号。他们没有任何共同点。控制器1是一个登录控制器,如果我的登录凭据正确,它会将我引导到一个安全页面。我只是想让控制器2:只加载这个页面的中间部分,就这样。为什么用CI这么难做到这一点?
+-------------------------------------------------------+
|View "Home_Page" |
+--------------------------------------------------------
| TOP: |
|Controller 1: function checklogin(){} loads this part |
| |
--------------------------------------------------------+
|Middle: |
|Controller 2: function content(){ } loads this part |
| |
--------------------------------------------------------+
|Bottom: |
|Controller 1: function checklogin(){} loads this part |
| |
--------------------------------------------------------+
回答您的问题。
因为CI不是为了做这种事情而开发的?
不是MVC的东西?控制器不调用控制器,模型不调用控制器、视图不调用控制器。控制器调用他们想要的一切,唯一调用控制器的是路由。
如果您想要类似的功能,请阅读HMVC/模块化分离。
无论如何,这都是一种糟糕的做法,请考虑将代码重组为MVC,并停止尝试让CodeIgniter做它不应该做的事情
关于MVC和模型的阅读内容。
控制器1
public function index() {
$this->load->view("header");
$this->load->view("top");
$this->load->view("middle");
$this->load->view("bottom");
}
控制器2
public function index() {
$this->load->view("header");
$this->load->view("middle");
}
我想你需要主页,
请参阅此
有几个身份验证库运行得很好,但它们不是这样操作的。
CI中的流量通常为:
Request -> Front Controller
-> Route
-> Controller
[-> Auth Library
[-> Auth Model]
]
-> Display View
支架用于指示可选组件。
控制器将运行auth代码,无论是库还是控制器中的其他方法,然后根据结果显示视图或重定向用户。
我个人使用Tank Auth,但还有许多其他功能可以用作身份验证库。