php - 如何避免大的 switch 语句?

标签 php design-patterns

我有一个内部应用程序,其中一个函数包含太多 switch case。

这是在 php 中开发的。这个特定的函数用于将更改写入数据库并保留单个字段值的历史记录。所以它所做的是为每个领域都有一个案例,因为不同的领域需要应用不同的东西。

switch ($item){  
    case 'item1':  
        do_something();  
    case 'item2':  
        do_something_different():  
}

在这种情况下是否有可遵循的设计模式。每个项目的功能看起来也不那么适合 future 。

更新: pastebin link

最佳答案

这不是一个好的功能。应该是三个函数,edit_nameedit_manageredit_liscencedata。您可以将所有在 case 之间重复的内容移动到您应该定义的 Change 类的构造函数中。

关于php - 如何避免大的 switch 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3433217/

相关文章:

php - mysql删除然后更新

java - 我可以避免使用 "generics"或更好的 "design patterns"进行显式转换吗?

php script.php 打印脚本,而不是在 linux 上执行它?

php - array_unique 只返回一条记录

PHP:如何配对数组值

algorithm - 图形中是否有类似于mipmaps的数据存储模式?

c# - 横向层调用设计问题

php - 拉拉维尔 4 : How to get data from a table in a many-to-many relationship with orderBy?

coding-style - Ocaml:糟糕的风格,此模式匹配中的所有子句都受到保护

python 设计模式