将PHP中的Web开发从一个版本迁移到另一个版本

时间:2017-03-06 09:54:15

标签: php web

假设我开发了任何大型Web应用程序。

例如PHP提供字符串或数组函数

说我正在使用“排序”数组函数

如果他们在较新版本中弃用此功能。那么这种类型的函数有包装(实用程序)类是很好的。因此,在一个地方进行修改非常容易。

有人请建议吗?

1 个答案:

答案 0 :(得分:0)

首先,我怀疑<element-el></element-el> 是否会被弃用。这非常基础。

通常,作为PHP核心一部分的函数被弃用或删除的情况非常少见。发生这种情况时,通常有三个原因之一:

  • 它们是旧别名(例如sort()mysqli_fetch()的别名,最终被删除)或已被弃用了很长时间的冗余函数(例如mysqli_stmt_fetch()在PHP 4.1中已弃用,但仅在PHP 7中删除) - 通常这些都是明确标记的,您应该避免它们支持推荐的替代方案。
  • 它们与已删除的.ini设置相关联,例如call_user_method()。这可能现在非常罕见,因为大多数具有专用函数的ini设置(与使用ini_set()相反)都是基本的(例如set_magic_quotes_runtime())或已被删除/弃用。
  • 它们是已完全删除的扩展程序的一部分(通常意味着已移至PECL repository)。在这种情况下,整个功能都消失了,处理此问题的最佳方法是手动安装扩展程序或编写替换已删除功能的填充程序。

上面有一些例外情况,但一般来说功能删除非常少见,因此将这些功能包装起来实际上会产生更多的工作,而不仅仅是在发生删除时处理它们。在实际删除函数之前,还有很长一段时间将函数标记为已弃用,因此通常有足够的时间来处理该问题。

此外,处理已删除的函数实际上非常容易(它是最简单的向后兼容性破坏之一)。通常,您只需使用error_reporting()检测到该函数丢失,如果不存在,则声明您自己的版本。如果这不重要,你通常会在网上找到一个例子,有人已经解决了这个问题。

[更难的问题是,如果你突然需要你的应用程序运行在比它设计的旧版本的PHP版本上,那么函数和语法可能还不存在。强烈建议您在开始工作前仔细选择支持的最低版本!]