状态设计模式对于 PHP 表单来说是不是太过分了?

发布于 2024-09-12 23:13:07 字数 644 浏览 5 评论 0原文

我有一个页面,在访问时会显示与视频相关的信息表:

  • 嵌入代码
  • 标题
  • 描述
  • 当前画廊
  • 缩略图

首次访问该页面时,此信息是只读的。

有一个选择菜单,其中包含以下选项:

  • 编辑 说明
  • 创建缩略图(上传/替换)
  • 编辑嵌入代码
  • 更改图库
  • 删除视频

当用户选择一个选项时,将显示相同的初始数据表,但会显示相关的表单输入必要时。

例如,如果选择“编辑描述”,页面将重新加载,并且描述文本将替换为文本输入。如果选择“创建缩略图”,则显示文件上传输入。

其想法是将所有信息一起显示,但限制一次可以编辑的信息量。

我知道状态模式是一种可能的解决方案,因为每条数据至少可以处于以下两种状态之一:

  1. 显示状态
  2. 表单输入状态

但是,我的问题是,使用状态模式是否会矫枉过正?

此时,每次访问页面时,表单的每个部分都会使用 switch 语句决定是否应处于“显示”状态或“输入”状态,然后进行相应的操作。我想知道实施状态模式设计是否会使更改表单和创建类似表单变得更容易。

谢谢!

I have a page that, when accessed displays a table of information related to a video:

  • Embed code
  • Title
  • Description
  • Current gallery
  • Thumbnail image

This information is read-only when the page is first accessed.

There is a select menu that has the following options:

  • Edit Description
  • Create Thumbnail (Upload/Replace)
  • Edit embed code
  • Change Gallery
  • Delete video

When the user selects an option, the same initial table of data is displayed, but the relevant form input is displayed where necessary.

For example, if "Edit Description" is selected, the page reloads and the description text is replaced with a text input. If "Create Thumbnail" is selected, then a file upload input is displayed.

The idea is to display all of the information together but to limit how much can be edited at a time.

I know the state pattern is a possible solution, since each piece of data can be in atleast one of two states:

  1. Display State
  2. Form input state

But, my question is, would using the state pattern be overkill?

At the moment, each time the page is accessed, each part of the form decides with a switch statement whether it should be in 'display' or 'input' state and then acts accordingly. I wonder if implementing the state pattern design would make altering the form and creating similar forms easier down the road.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冷清清 2024-09-19 23:13:07

不,状态设计模式并不过分。对于处理如此复杂的接口,这可能是一个非常好的算法选择。我曾多次在 PHP 中使用过状态引擎;它可以帮助你创造性地思考问题,并且你通常会在灵活性方面获得好处。

我希望更多的程序员知道这些事情。

No, the state design pattern isn't overkill. It's probably a very good choice of algorithm for handling such a complex interface. I've used state engines in PHP several times; it helps you think creatively about the problem and you often get a bonus in flexibility.

I wish more programmers knew of such things.

雾里花 2024-09-19 23:13:07

我使用设计模式(包括 PHP 中的状态模式)越多,我就越相信它们可以节省时间。最初,开发可能需要更长的时间,但也不会太长。然而,当涉及到更改和更新时,它们可以节省大量时间。您的代码组织得更好,更清晰,并且不太可能通过设计模式之外的紧密绑定而将炸弹渗透到您的代码中。我在 php5dp.com 上完成了几种 PHP 设计模式,但是在 State dp 中什么也没有。

The more I use design patterns, including the State pattern in PHP, the more I'm convinced that they save time. Initially, it may take longer to develop, but not much longer. However, when it comes to change and update, they save huge amounts of time. Your code is better organized, clearer and less likely to through a bomb into your code that you get with the tight binding outside of design patterns. I've done several PHP design patterns at php5dp.com, but, nothing in a State dp.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文