|
|
1
5
你似乎已经像很多人一样开始了,一个大的if和/或case声明,并且继续增长。所有这些“如果”检查都需要时间。MVC绝对是一个很好的方法,但是有很多方法可以实现它。我还建议您考虑前端控制器的设计模式,它通常与MVC一起使用。 改变操作方式的一种方法是使用关联数组切换到已定义的“操作”列表。把你的函数改成includes。然后可以有多个函数、变量和其他处理代码。
|
|
|
2
4
在任何面向对象的代码中,每当您看到一系列if/else或case语句时,通常最好由对象层次结构来处理,而不是由一堆if/else/else来处理。 在您的特定情况下,您可能有3个不同的类来表示A、B和C。只需拨打一个$obj->doit()方法。A、 B和C都有doit()方法的不同实现。 如果你想摆脱常规,我建议你读一本关于设计模式的书。以下是一些PHP设计模式的示例: http://www.fluffycat.com/PHP-Design-Patterns/
上面的链接中提供了这些模式和PHP示例的描述。我确实建议在其他地方阅读更多关于设计模式的内容,但是这个链接有PHP示例。 -战略。这就像是一个曲奇饼切割器或疯狂的Libs风格的东西。您可以设置执行函数所涉及的基础知识。如果需要,用户(使用基类的程序员)可以重写某些事情,但是完成这些工作的基础都已经就绪。示例:我们需要执行一个业务流程。一般来说,这包括启动一个事务,做“肉”的工作,然后执行清理和日志记录。在这里使用stragey/cookie-cuter模式似乎有些过分,但通常不是这样:即使代码的“肉”中抛出了错误或异常,也需要记住进行清理。通过使用Strategy/cookie cutter模式,您可以用最少的样板/重复代码实现所有这些。
下面的maschka推荐使用Smarty,这是一个合理的想法。一个更好的主意,取决于您的应用程序,可能是使用MVC框架。如果您致力于坚持使用PHP,那么我推荐CakePHP并在这方面取得了巨大的成功。它可以帮助您以一种非常好的方式布局代码,并帮助您避免麻烦。 |
|
|
Ziv · 避免依赖性使我的VS解决方案中的项目数量激增 10 年前 |
|
|
Vico · 具有laravel和几个git存储库的代码组织 11 年前 |
|
|
David Rodrigues · 组织目录中的命名空间和类 11 年前 |