一个很长的函数/系列函数应该在一个php文件中,还是分解成一个较小的函数?

时间:2014-02-25 08:29:33

标签: php api

目前我正在撰写一系列功能,用于从Steam API.获取Dota 2比赛当有人拿起他们的比赛时,我必须(供我使用)记录他们所有比赛的历史(比方说) 3个api电话),然后是每个游戏的所有细节(所以如果有200个游戏,另外200个api电话)。这需要很长时间,到目前为止,我将上述所有内容编程为一个php文件“FetchMatchHistory.php”,该文件由用户单击网页上的按钮运行。

让我觉得它应该在一个文件中的另一件事是,我认为将所有信息(在这种情况下,匹配历史记录,匹配​​详细信息,id等)放入数据库可能是一种好习惯。一下子,所以数据库中不必有空值?

我的问题是,是否需要花费很长时间的函数应该只在一个PHP文件中(应该是有意义的,通常被认为是好的做法),或者我是否应该将单独的函数分解为更小的文件。我知道这非常依赖于背景,所以请原谅我。

如果您正在制作的API调用跨多个PHP文件,这是否常见?是否存在安全/可靠性问题,只有一个文件可以完成所有的工作(可以这么说)?

2 个答案:

答案 0 :(得分:2)

良好的做法是将一些相关的功能组合在一起描述它们的php文件中,以便更好地组织它们,以及缓存比其他更快地更新的部分的原因。 但谈到性能,我怀疑你只需通过文件移动代码就可以获得性能提升。

我个人习惯将everything置于文件中,始终如一:

  • 让我的文件变胖
  • 难以更新
  • 难以读
  • 很难找到我想要的东西( Ctrl + F 崩溃)
  • 浪费带宽上传他们不需要更新的部分
  • 虚拟禁用服务器上的缓存

我不知道上述任何内容对您的应用程序是否有用,但将文件分解到相关文件/位置会让我的生活变得更轻松。

<强>更新

关于数据库实践,您将仅查询要更新的部分。 我不明白为什么你在文件中拆分逻辑,不会给你性能。相反,为您提供性能的是仅更新相关部分并具有相关内容的表。说到多个表有更多的意义,因为你可以将它们用作指向另一个表中包含的大数据的指针,减少可能只有一个表的数据浪费。

另外,不要忘记单个表有局限性;我个人尝试尽可能少的列。由于row limit,您添加的内容越来越多,因此无法添加更多内容。一般来说,列数最多,但开发人员很少会达到这个限制;增加的每行内容本身就会超出这个限制。

答案 1 :(得分:0)

是将服务器端代码拆分为多个文件还是将其保存在一个文件中是一个组织问题,而不仅仅是安全性/可靠性...

我认为将代码保存在单独的源文件中并不安全。

这完全取决于您喜欢如何组织和维护代码库。

通常,当我在代码中找到某种“类别”时,我将其分开。

显然,如果你编写OO代码,最常见的选择是将每个类保存在一个文件中......