1<?php 2 3/** 4 * En-revision: 213a4fafd56620a4efebddaa5bf246afb0758782 5 */ 6 7return [ 8 'common_header' => 'PHP 8.1 是 PHP 语言的一个主版本更新。它包含了许多新功能,包括枚举、只读属性、First-class 可调用语法、纤程、交集类型和性能改进等。', 9 'main_title' => '已发布!', 10 'main_subtitle' => 'PHP 8.1 是 PHP 语言的一个主版本更新。<br class="display-none-md"> 它包含了许多新功能,包括枚举、只读属性、First-class 可调用语法、纤程、交集类型和性能改进等。', 11 'upgrade_now' => '更新到 PHP 8.1 !', 12 'documentation' => '文档', 13 14 'enumerations_title' => '枚举', 15 'enumerations_content' => '使用枚举而不是一组常量并立即进行验证。', 16 17 'readonly_properties_title' => '只读属性', 18 'readonly_properties_content' => '<p>只读属性不能在初始化后更改,即在为它们分配值后。它们可以用于对值对象和数据传输对象建模。</p>', 19 20 'first_class_callable_syntax_title' => 'First-class 可调用语法', 21 'first_class_callable_syntax_content' => '<p>现在可以获得对任何函数的引用。这统称为 First-class 可调用语法。</p>', 22 23 'new_in_initializers_title' => '新的初始化器', 24 'new_in_initializers_content' => '<p>对象现在可以用作默认参数值、静态变量和全局常量,以及属性参数。</p> 25 <p>这有效地使使用 <strong>嵌套属性</strong> 成为可能。</p>', 26 27 'pure_intersection_types_title' => '纯交集类型', 28 'pure_intersection_types_content' => '<p>当一个值需要同时满足多个类型约束时,使用交集类型。</p> 29 <p>注意,目前无法将交集和联合类型混合在一起,例如 <code>A&B|C</code>。</p>', 30 31 'never_return_type_title' => 'Never 返回类型', 32 'never_return_type_content' => '<p>使用 <code>never</code> 类型声明的函数或方法表示它不会返回值,并且会抛出异常或通过调用 <code>die()</code>、<code>exit()</code>、<code>trigger_error()</code> 或类似的东西来结束脚本的执行。</p>', 33 34 'final_class_constants_title' => 'Final 类常量', 35 'final_class_constants_content' => '<p>可以声明 final 类常量,以禁止它们在子类中被重写。</p>', 36 37 'octal_numeral_notation_title' => '显式八进制数字表示法', 38 'octal_numeral_notation_content' => '<p>现在可以使用显式 <code>0o</code> 前缀表示八进制数。</p>', 39 40 'fibers_title' => '纤程', 41 'fibers_content' => '<p>Fibers 是用于实现轻量级协作并发的基础类型。它们是一种创建可以像生成器一样暂停和恢复的代码块的方法,但可以从堆栈中的任何位置进行。Fibers 本身并没有提供并发性,仍然需要一个事件循环。但是,它们允许通过阻塞和非阻塞实现共享相同的 API。</p><p>Fibers 允许摆脱以前在 <code>Promise::then()</code> 或基于生成器的协程中看到的样板代码。库通常会围绕 Fiber 构建进一步的抽象,因此无需直接与它们交互。</p>', 42 43 'array_unpacking_title' => '对字符串键控数组的数组解包支持', 44 'array_unpacking_content' => '<p>PHP 以前支持通过扩展运算符在数组内部解包,但前提是数组具有整数键。现在也可以使用字符串键解包数组。</p>', 45 46 'performance_title' => '性能改进', 47 'performance_chart' => '<strong>Symfony Demo App 请求时间</strong><br> 48 25 次连续运行,250 次请求(秒)<br> 49 (越少越好)<br>', 50 'performance_results_title' => '结果(相对于 PHP 8.0):', 51 'performance_results_symfony' => 'Symfony Demo 有 23.0% 的提升', 52 'performance_results_wordpress' => 'WordPress 有 3.5% 的提升', 53 'performance_related_functions_title' => 'PHP 8.1 中与性能相关的特性:', 54 'performance_jit_arm64' => 'ARM64 的 JIT 后端 (AArch64)', 55 'performance_inheritance_cache' => '继承缓存(避免在每个请求中重新链接类)', 56 'performance_fast_class_name_resolution' => '快速解析类名(避免小写和哈希查找)', 57 'performance_timelib_date_improvements' => 'timelib 和 ext/date 性能改进', 58 'performance_spl' => 'SPL 文件系统迭代器改进', 59 'performance_serialize_unserialize' => 'serialize/unserialize 优化', 60 'performance_internal_functions' => '一些内部函数优化(get_declared_classes()、explode()、strtr()、strnatcmp() 和 dechex())', 61 'performance_jit' => 'JIT 的改进和修复', 62 63 'other_new_title' => '新的类、接口和函数', 64 'other_new_returntypewillchange' => '<code>#[ReturnTypeWillChange]</code> 属性。', 65 'other_new_fsync_fdatasync' => '<code>fsync</code> 和 <code>fdatasync</code> 函数。', 66 'other_new_array_is_list' => '<code>array_is_list</code> 函数。', 67 'other_new_sodium_xchacha20' => 'Sodium XChaCha20 函数。', 68 69 'bc_title' => '弃用和向后不兼容', 70 'bc_null_to_not_nullable' => '向非空值的内部函数参数传递空值的做法已被弃用。', 71 'bc_return_types' => 'PHP 内置类方法中的暂定返回类型', 72 'bc_serializable_deprecated' => '<code>Serializable</code> 接口已弃用。', 73 'bc_html_entity_encode_decode' => 'html_entity_encode/html_entity_decode 函数默认处理单引号和用 Unicode 替换字符来替换无效字符。', 74 'bc_globals_restrictions' => '<code>$GLOBALS</code> 变量限制。', 75 'bc_mysqli_exceptions' => 'MySQLi:默认错误模式设置为异常。', 76 'bc_float_to_int_conversion' => '隐式不兼容的 float 到 int 转换已被弃用。', 77 'bc_finfo_objects' => 'finfo 扩展:<code>file_info</code> 资源迁移到现有的 finfo 对象。', 78 'bc_imap_objects' => 'IMAP:imap 资源迁移到 <code>IMAP\Connection</code> 类对象。', 79 'bc_ftp_objects' => 'FTP 扩展:连接资源迁移到 <code>FTP\Connection</code> 类对象。', 80 'bc_gd_objects' => 'GD 扩展:字体标识符迁移到 <code>GdFont</code> 类对象。', 81 'bc_ldap_objects' => 'LDAP:资源类型迁移到 <code>LDAP\Connection</code>、<code>LDAP\Result</code> 和 <code>LDAP\ResultEntry</code> 对象。', 82 'bc_postgresql_objects' => 'PostgreSQL:资源类型迁移到 <code>PgSql\Connection</code>、<code>PgSql\Result</code> 和 <code>PgSql\Lob</code> 对象。', 83 'bc_pspell_objects' => 'Pspell:pspell 和 pspell config 资源类型迁移到 <code>PSpell\Dictionary</code>、<code>PSpell\Config</code> 类对象。', 84 85 'footer_title' => '更好的性能、更好的语法、改进类型安全。', 86 'footer_content' => '<p> 87 请访问 <a href="http://www.php.net/downloads">下载</a> 页面下载 PHP 8.1 源代码。 88 在 <a href="http://windows.php.net/download">PHP for Windows</a> 站点中可找到 Windows 二进制文件。 89 <a href="https://www.php.net/ChangeLog-8.php#PHP_8_1">ChangeLog</a> 中有变更历史记录清单。 90 </p> 91 <p> 92 PHP 手册中有 <a href="/manual/zh/migration81.php">迁移指南</a>。 93 请参考它描述的新功能详细清单、向后不兼容的变化。 94 </p>', 95]; 96