美文网首页
2019-06-17php版本变更内容5.4到5.5

2019-06-17php版本变更内容5.4到5.5

作者: 括儿之家 | 来源:发表于2019-06-17 11:29 被阅读0次

    PHP 5.5.x 中的大多数改进对现有代码不会有影响。 在生产环境中切换 PHP 版本前应考虑 少许不兼容 和 新特性,并严格测试代码。

    尽管大部分现有的 PHP 5 代码不需要更改就可以正常运行,但请注意一些不向后兼容的变更:

    不再支持 Windows XP 和 2003

    已放弃对 Windows XP 和 2003 的支持。构建 Windows 版本的 PHP 需要 Windows Vista 或更新的系统。

    pack() 和 unpack() 函数的变化

    为使 pack() 和 unpack() 更兼容 Perl 做了一些变更:

    pack() 现在支持“Z”格式代码,其表现的行为与“a”相同。

    unpack() now support the "Z" format code for NULL padded strings, and behaves as "a" did in previous versions: it will strip trailing NULL bytes.且其行为类似上一个版本中的“a”:清除后面的 NULL 字节。

    unpack() now keeps trailing NULL bytes when the "a" format code is used.

    unpack() now strips all trailing ASCII whitespace when the "A" format code is used.

    新的特性

    新增 Generators

    通过yield关键字添加了对生成器的支持。生成器提供了一种简单的方法来实现简单的迭代器,而不需要实现迭代器接口的类的开销或复杂性。

    重新实现range()函数作为生成器的简单示例(至少对于正阶跃值):

    新增 finally 关键字

    Try Catch块现在支持代码的finally块,不管是否引发了异常,该块都应该运行。

    事例

    finally 异常处理关键字

    foreach 现在支持 list()

    foreach 控制结构现在支持通过 list() 构造将嵌套数组分离到单独的变量。例如:

    empty() 支持任意表达式

    empty() 现在支持传入一个任意表达式,而不仅是一个变量。例如:

    array and string literal dereferencing

    数组和字符串支持单个元素的下标访问:

    改进 GD

    对 GD 扩展做了多方面的改进,包括:

    翻转支持使用新的 imageflip() 函数。

    高级裁剪支持使用 imagecrop() & imagecropauto() 函数。

    WebP 的读写分别支持使用 imagecreatefromwebp() & imagewebp() 。

    废弃 ext/mysql

    原始的 MySQL 扩展 现在被废弃,当连接到数据库时会产生一个 E_DEPRECATED 错误。可使用 MySQLi 或 PDO_MySQL 扩展作为替代。

    preg_replace() 中的 /e 修饰符

    preg_replace() 函数中用到的 /e 修饰符现在被弃用。可以使用 preg_replace_callback() 函数来替代。

    intl 中的废弃

    IntlDateFormatter::setTimeZoneID() 和 datefmt_set_timezone_id() 现在被废弃。可分别使用 IntlDateFormatter::setTimeZone() 方法和 datefmt_set_timezone() 函数作为替代。

    mcrypt 中的废弃

    下列函数已被废弃:

    mcrypt_cbc()   mcrypt_cfb()   mcrypt_ecb()  mcrypt_ofb()

    新的函数

    PHP 核心

    array_column() 

    boolval()

    password_get_info()

    password_hash()

    password_needs_rehash()

    password_verify()

    Hash

    hash_pbkdf2()

    GD

    imageaffinematrixconcat()

    imageaffinematrixget()

    imagecrop()

    imagecropauto()

    imageflip()

    imagepalettetotruecolor()

    imagescale()

    Intl

    datefmt_format_object()

    datefmt_get_calendar_object()

    datefmt_get_timezone()

    datefmt_set_timezone()

    datefmt_get_calendar_object()

    intlcal_create_instance()

    intlcal_get_keyword_values_for_locale()

    intlcal_get_now()

    intlcal_get_available_locales()

    intlcal_get()

    intlcal_get_time()

    intlcal_set_time()

    intlcal_add()

    intlcal_set_time_zone()

    intlcal_after()

    intlcal_before()

    intlcal_set()

    intlcal_roll()

    intlcal_clear()

    intlcal_field_difference()

    intlcal_get_actual_maximum()

    intlcal_get_actual_minimum()

    intlcal_get_day_of_week_type()

    intlcal_get_first_day_of_week()

    intlcal_get_greatest_minimum()

    intlcal_get_least_maximum()

    intlcal_get_locale()

    intlcal_get_maximum()

    intlcal_get_minimal_days_in_first_week()

    intlcal_get_minimum()

    intlcal_get_time_zone()

    intlcal_get_type()

    intlcal_get_weekend_transition()

    intlcal_in_daylight_time()

    intlcal_is_equivalent_to()

    intlcal_is_lenient()

    intlcal_is_set()

    intlcal_is_weekend()

    intlcal_set_first_day_of_week()

    intlcal_set_lenient()

    intlcal_equals()

    intlcal_get_repeated_wall_time_option()

    intlcal_get_skipped_wall_time_option()

    intlcal_set_repeated_wall_time_option()

    intlcal_set_skipped_wall_time_option()

    intlcal_from_date_time()

    intlcal_to_date_time()

    intlcal_get_error_code()

    intlcal_get_error_message()

    intlgregcal_create_instance()

    intlgregcal_set_gregorian_change()

    intlgregcal_get_gregorian_change()

    intlgregcal_is_leap_year()

    intltz_create_time_zone()

    intltz_create_default()

    intltz_get_id()

    intltz_get_gmt()

    intltz_get_unknown()

    intltz_create_enumeration()

    intltz_count_equivalent_ids()

    intltz_create_time_zone_id_enumeration()

    intltz_get_canonical_id()

    intltz_get_region()

    intltz_get_tz_data_version()

    intltz_get_equivalent_id()

    intltz_use_daylight_time()

    intltz_get_offset()

    intltz_get_raw_offset()

    intltz_has_same_rules()

    intltz_get_display_name()

    intltz_get_dst_savings()

    intltz_from_date_time_zone()

    intltz_to_date_time_zone()

    intltz_get_error_code()

    intltz_get_error_message()

    相关文章

      网友评论

          本文标题:2019-06-17php版本变更内容5.4到5.5

          本文链接:https://www.haomeiwen.com/subject/ariofctx.html