1

我正在尝试构建自己的 PHP MVC 框架。

目前我正在创建一个简单的 2 页网站,其中每个页面都扩展了一个模板页面,这样我在创建新页面时就不必担心元标记、页眉、导航和页脚。

我试图找出一种方法将其溢出到 MVC 的单独组件中,但不能

这让我相信 MVC 不一定是这个框架的前进方向。

那么,MVC 概念是否适用于静态(静态我的意思是唯一的用户输入是点击链接,没有登录或任何东西)PHP 页面?

4

3 回答 3

3

你需要MVC吗

  • MVC 概念可以应用于具有静态页面的网站吗?的,它可以。
  • 你应该使用它吗?,除非您期望项目增长。

MVC 架构的核心是将业务逻辑与表示逻辑分离。

在(您所说的)静态站点中,模型层(是的,它是层,而不是类)的唯一作用是从缓存或数据库中获取内容。在这种情况下,您将获得更多的框架然后工作,因为设置 MVC 结构需要更多的代码,然后是有用的部分。

你应该建立一个框架

一定要做一个。在 PHP 社区中,这几乎就像一个成人礼。如果您至少没有制作过几个框架,那么您就不是真正的 PHP 开发人员。

不过,您应该记住,您至少需要 3 次迭代才能构建出不糟糕的东西。那是假设您实际上研究了 OOP 原理,而不是模仿其他一些框架。

对于一个小项目来说,什么是更好的选择

与其写一个完整的 MVC 框架,不如试着写一些遵循它的精神的东西。

您应该从两件事开始:

  1. 您的应用程序应该有Single Point of Entrance。这意味着,如果用户写http://who.cares/article/1,那么您应该将 URL 重写为index.php?url=article/1

  2. 分离关注点。基本上,在此类应用程序中,您有 3 种不同的事情要做:

    • 解析用户的请求
    • 获取数据
    • 显示收集到的信息

对于最后一部分,您可能会从本文中受益。其余的,你将不得不自己决定。

只是不要mysql_*从数据库中收集数据的古老功能(如果有的话)。它们不再被维护并且社区已经开始了弃用过程。相反,您应该了解准备好的语句并使用PDOMySQLi。如果你不能决定,这篇文章将有助于选择。如果你想学习,这里有一个相当不错的 PDO 相关教程

于 2012-05-20T16:08:42.597 回答
2

由于您的页面需要一种编程语言来更改内容、对用户输入等进行操作,因此它根本不是静态的。当您仅使用标记和样式语言时,它们是静态的。

很难说您的项目是否需要可靠的架构。对于静态页面,您不需要 mvc。对于您的 2 页项目,我认为您不需要 mvc,除非您的页面非常动态(1 页可以有多个状态)。

如果您真的想制作自己的框架,您应该阅读更多关于应用程序的结构和架构的信息。通常只有中型/大型应用程序需要坚实的结构/架构(例如:mvc)。

最终答案:我认为您的应用不需要 mvc 。
PS:做自己的mvc框架很好,学到很多东西。但是,如果您单独完成它(如果您想让它比现有的更好),将需要很多时间来完成它。没有可靠的(近乎完美的:))php mvc 框架。PHP 社区缺乏一个良好的和世界范围内接受的框架。许多框架,但都有其优点和缺点。我什至听到一些开发人员说 zend mvc 更像是一个库。

于 2012-05-20T13:02:17.447 回答
1

首先,永远不需要 mvc。这只是一种公认​​的模式,可以方便地提供组织、健壮性、安全性......

然后,如果你想要我的意见,你越早熟悉它在你的静态页面中实现它,就越容易继续你的下一页。

于 2012-05-20T12:16:13.367 回答