gpt4 book ai didi

从零开始的 PHP MVC - 如何连接这些类?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:09:34 26 4
gpt4 key购买 nike

首先我知道

  • 不要重新发明轮子
  • 有很多 MVC 框架。

这不是制作作品,而是我的爱好项目。我从头开始编写 MVC 是为了对 MVC 有更深入的了解,并让我自己满意。最后,我可以对自己说:“你做到了,伙计。你自己写了一个 MVC 框架!


现在解决我的问题。通常,我们会在 MVC 中编写一些类,并且从一开始就在那里。我们通常称它们为 BootstrapperRouterRegistryConfig。可能还有更多,但我现在想集中讨论这些。通常,每个请求我们不需要这些类的多个实例(单例?)。我认为从名称本身就很清楚这些类的作用。所以现在我的问题是:

谁先启动(我认为是Bootstrapper)?这些类是如何联系在一起的?他们都需要是单例吗?我们如何使这些(Bootstrapper 可能是一个异常(exception))的实例可供应用程序中的其他类使用(也许我们使用单例)?

最佳答案

由于我现在正在做同样的事情,所以这是我的观点:

  • 不要使用神奇的BootstrapperCoreInitializer 类。最好将该功能放在类似 bootstrap.phpinit.php 的文件中。在我的项目中,此类文件包含其他类之间的所有“连接”(创建 Router 的实例,注入(inject)不同的工厂等等)。

  • 不要在您的应用程序中使用全局状态(RegisterConfig 最有可能引入全局状态)。我会推荐给你看this lecture playlist获得一些见识。

  • 如果答案是“singleton”,说明你问错了问题

  • 应用程序从何处开始取决于您如何创建代码,但不应从类内部将其踢出。想想可能需要了解您的框架如何工作的其他人(包括您,6 个月后)。挖掘另一个类,只是为了获得神奇的 init() 函数会很烦人。

  • 学习什么SOLID principlesLaw of Demeter是。

..我的两分钱

关于从零开始的 PHP MVC - 如何连接这些类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10832813/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com