Model view controller 编码器点火器控制器间通信

Model view controller 编码器点火器控制器间通信,model-view-controller,codeigniter,controller,Model View Controller,Codeigniter,Controller,我是MVC新手,代码设计者。它需要为一个简单的应用程序编写大量代码,而不是让事情变得简单。这些都可能是因为我是新来的。所以我对这件事没有什么疑惑。感谢您的任何帮助。 1) 在一个控制器中写入的方法不能在另一个控制器类中访问。我必须为相同的功能编写一个新函数 2) 要在无mvc面板中创建网站管理面板(后端),我们通常在新文件夹中创建它。这在CodeIgniter中是可能的吗?如果不是,管理员(后端)怎么办 1) 在一个控制器中写入的方法不能在另一个控制器类中访问。我必须为相同的功能编写一个新函数

我是MVC新手,代码设计者。它需要为一个简单的应用程序编写大量代码,而不是让事情变得简单。这些都可能是因为我是新来的。所以我对这件事没有什么疑惑。感谢您的任何帮助。
1) 在一个控制器中写入的方法不能在另一个控制器类中访问。我必须为相同的功能编写一个新函数

2) 要在无mvc面板中创建网站管理面板(后端),我们通常在新文件夹中创建它。这在CodeIgniter中是可能的吗?如果不是,管理员(后端)怎么办

1) 在一个控制器中写入的方法不能在另一个控制器类中访问。我必须为相同的功能编写一个新函数

它的功能是什么?也许您应该编写一个库/助手,控制器的逻辑应该限制在请求流或其他方面,但不要太复杂。为此,将功能放在模型中,或者如果更一般的话,放在library/helper中

2) 要在无mvc面板中创建网站管理面板(后端),我们通常在新文件夹中创建它。这在CodeIgniter中是可能的吗?如果不是,管理员(后端)怎么办


我不明白,你能再详细说明一下吗?

让我们试着澄清你对此的一些疑虑

1) 从另一个控制器调用一个控制器的方法是不可能的,顺便说一句,这就是它的意义所在

控制器应该从URL(由CI路由到任务的正确控制器)获取操作,并在此基础上决定需要调用哪个模型和哪个模型的方法来详细说明请求的数据

然后,模型将精化的结果交还给控制器,控制器依次决定将结果传递给哪个视图

最终,视图的结构是获取这些数据并显示它们

因此,正如您所看到的,从另一个控制器调用控制器的方法是毫无意义的,这就像转到一个页面并找到另一个;如果你想把这个请求传递给另一个控制器…好吧,这里有一个重定向

如果您在几分钟内发现您具有相同的功能,请三思:

  • 什么是函数性?你的意思是像控制器“存档”中的“显示帖子”和控制器“新闻”中的“显示帖子”吗?它们的功能几乎不一样;他们也许可以共享视图或模型,但仅此而已
  • 对于与URL无关,但涉及进一步细化(在模型中这样做可能是错误的)并在控制器中调用的函数,您可以使用库。想想“form_validation”库,它在控制器的方法中调用,但有自己独特的(和封装的)功能。Ora是一个“会话”库或“身份验证”库
  • 2) 要创建一个管理面板,最简单的事情是:创建一个“管理”控制器(可访问www.mysite.com/index.php/admin),并将所有管理操作放在其中,方法包括:create_page()、edit_page()、manage_users(),等等。 为了避免人们自由访问它,您需要构建一个身份验证系统,在其最简单和最基本的结构中,可能是检查会话是否设置(可能是在_construct()时间进行的检查)

    但是你可以找到已经制作好的Auth库,比如Ion Auth或Tank Auth(据我所知,这两个库是最流行的)


    希望事情现在清楚一点。如果您对模块化HMVC方法感兴趣,请参阅Interstarr_Coder对此答案的评论。

    谢谢您的回复。管理面板是指网站的一部分,其中内容等通过访问数据库等进行修改。例如,我的网站是“mysite.com”,amdin面板是“mysite.com/Admin”,这几乎一直都在发生,它应该由另一个控制器处理,就像其他控制器一样。哪一部分让您感到困惑?实际上,使用新的HMVC模式,理论上您可以从一个控制器调用另一个控制器方法。这似乎是一个不断增长的趋势,有助于进一步分离代码,在内部模拟请求,返回视图的输出,并可与当前控制器的视图结合使用。虽然在这种特殊情况下,我认为OP不需要使用这种方法。@Interstarr_Coder,我知道,但我认为OP仍然缺少一些基础知识,所以我认为提到HMVC(它也不是CodeIgniter中的本机)将是一个更进一步的步骤,仍然没有必要,并且可能会产生更多的混乱。不过,非常感谢您的添加。