2017-03-06 110 views
0

假设我开发了任何大型Web应用程序。将PHP从一个版本迁移到另一个版本

例如PHP提供的字符串或数组功能

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

如果他们不建议使用这新版本。然后,对这种类型的函数使用包装器(实用程序)类是很好的。所以在一个地方很容易修改。

有人请指教?

+0

版本升级不起作用。如果他们会贬低某些东西,他们会在未来几个月宣布它并在很长一段时间内支持它,然后才会被语言消灭。只要你不援引可怜的老图书馆,你就会很好。他们不能无故弃用'sort' –

回答

0

首先,我怀疑sort()永远不会被弃用。这非常重要。

一般而言,PHP内核的一部分功能被弃用或删除是非常罕见的。发生这种情况时,它通常是三个原因造成的:那些已经被废弃了很久

  • 他们都老了别名(如mysqli_fetch()是为mysqli_stmt_fetch()一个别名,并最终移除)或冗余功能(例如call_user_method(),它在PHP 4.1中已弃用,但只在PHP 7中删除) - 通常这些标记清楚标记,您应该避免使用推荐的替代方法。
  • 它们与删除的.ini设置相关联,例如, set_magic_quotes_runtime()。由于大多数具有专用功能的ini设置(与使用ini_set()相比)或者是基础设置(例如error_reporting())或已被删除/弃用,因此现在可能确实非常少见。
  • 它们是已被完全删除的扩展的一部分(通常意味着移动到PECL repository)。在这种情况下,整个功能都消失了,处理这个问题的最好方法是手动安装扩展或编写一个替代被删除功能的填充程序。

有少数例外以上,但一般功能去除是非常罕见的,所以包装,像这样的单个功能实际上会导致比简单地清除处理发生时更多的工作。还有一个很长的时期,一个函数在被移除之前会被标记为不推荐使用,所以通常有足够的时间来处理这个问题。

此外,它实际上很容易处理删除的功能(这是最简单的向后兼容性破坏之一)。通常情况下,只需使用function_exists()即可检测到该功能缺失,如果不存在,请声明您自己的版本。如果这不是微不足道的,你通常会在网上找到一个例子,其中有人已经解决了这个问题。

[更棘手的问题是,如果突然需要应用程序运行在比以前版本更早的PHP版本上运行,那么功能和语法可能还不存在。强烈建议您在开始工作之前仔细挑选最低支持版本!​​]

相关问题