|
| 1 | +<?php |
| 2 | + |
| 3 | +return [ |
| 4 | + 'common_header' => 'PHP 8.5 — це велике оновлення мови PHP з новими можливостями, включно з URI-розширенням, оператором Pipe та підтримкою зміни властивостей під час клонування.', |
| 5 | + 'main_title' => 'Розумніший, Швидший, Створений для Майбутнього.', |
| 6 | + 'main_subtitle' => '<p><strong>PHP 8.5 — це велике оновлення мови PHP</strong> із новими можливостями, включно з <strong>URI-розширенням</strong>, <strong>оператором Pipe</strong> та підтримкою <strong>зміни властивостей під час клонування</strong>.</p>', |
| 7 | + |
| 8 | + 'whats_new' => 'Що нового в 8.5', |
| 9 | + 'upgrade_now' => 'Оновитись до PHP 8.5', |
| 10 | + 'old_version' => 'PHP 8.4 та старіші', |
| 11 | + 'badge_new' => 'НОВЕ', |
| 12 | + 'documentation' => 'Документація', |
| 13 | + 'released' => 'Випущено 20 листопада 2025', |
| 14 | + 'key_features' => 'Ключові можливості PHP 8.5', |
| 15 | + 'key_features_description' => '<p><strong>Швидший</strong>, <strong>чистіший</strong> і <strong>створений для розробників</strong>.</p>', |
| 16 | + |
| 17 | + 'features_pipe_operator_title' => 'Оператор Pipe', |
| 18 | + 'features_pipe_operator_description' => '<p>Оператор <code>|></code> дозволяє зʼєднувати виклики callable-функцій зліва направо, передаючи значення послідовно без проміжних змінних.</p>', |
| 19 | + 'features_persistent_curl_share_handles_title' => 'Постійні cURL Share-хендли', |
| 20 | + 'features_persistent_curl_share_handles_description' => '<p>Тепер хендли можуть зберігатись між запитами PHP, що дозволяє уникнути повторної ініціалізації з’єднань із тими самими хостами.</p>', |
| 21 | + 'features_clone_with_title' => 'Clone With', |
| 22 | + 'features_clone_with_description' => '<p>Клонуйте об’єкти та оновлюйте властивості новим синтаксисом <code>clone()</code>, що робить патерн "with-er" простим навіть для <code>readonly</code> класів.</p>', |
| 23 | + 'features_uri_extension_title' => 'URI-розширення', |
| 24 | + 'features_uri_extension_description' => '<p>PHP 8.5 додає вбудоване URI-розширення для парсингу, нормалізації та роботи з URL згідно зі стандартами <em>RFC 3986</em> та <em>WHATWG URL</em>.</p>', |
| 25 | + 'features_no_discard_title' => 'Атрибут #[\NoDiscard]', |
| 26 | + 'features_no_discard_description' => '<p>Атрибут <code>#[\NoDiscard]</code> попереджає, якщо повернуте значення не використано, допомагаючи уникати помилок і підвищуючи безпеку API.</p>', |
| 27 | + 'features_fcc_in_const_expr_title' => 'Замикання та First-Class Callables у константних виразах', |
| 28 | + 'features_fcc_in_const_expr_description' => '<p>Статичні замикання та first-class callables тепер можна використовувати в константних виразах, наприклад у параметрах атрибутів.</p>', |
| 29 | + |
| 30 | + 'pipe_operator_title' => 'Оператор Pipe', |
| 31 | + 'pipe_operator_description' => '<p>Pipe-оператор дає змогу ланцюжити виклики функцій без необхідності створювати проміжні змінні. Це дозволяє замінити вкладені виклики на ланцюжок, який читається зліва направо.</p><p>Більше про історію появи цієї можливості читайте у <a href="https://thephp.foundation/blog/2025/07/11/php-85-adds-pipe-operator/" target="_blank" rel="noopener noreferrer">блозі The PHP Foundation</a>.</p>', |
| 32 | + |
| 33 | + 'array_first_last_title' => 'Функції array_first() та array_last()', |
| 34 | + 'array_first_last_description' => '<p>Функції <code>array_first()</code> і <code>array_last()</code> повертають відповідно перший або останній елемент масиву. Якщо масив порожній — повертають <code>null</code>, що зручно для використання разом із оператором <code>??</code>.</p>', |
| 35 | + |
| 36 | + 'clone_with_title' => 'Clone With', |
| 37 | + 'clone_with_description' => '<p>Тепер можна оновлювати властивості під час клонування об’єкта, передаючи асоціативний масив у функцію <code>clone()</code>. Це природним чином реалізує патерн "with-er" для <code>readonly</code> класів.</p>', |
| 38 | + |
| 39 | + 'uri_extension_title' => 'URI-розширення', |
| 40 | + 'uri_extension_description' => '<p>Нове, завжди доступне URI-розширення забезпечує API для безпечного розбору та модифікації URI та URL згідно зі стандартами RFC 3986 і WHATWG URL.</p><p>Побудовано на основі <a href="https://uriparser.github.io/">uriparser</a> (RFC 3986) та <a href="https://lexbor.com/">Lexbor</a> (WHATWG URL).</p><p>Дізнайтеся більше в <a href="https://thephp.foundation/blog/2025/10/10/php-85-uri-extension/" target="_blank" rel="noopener noreferrer">блозі The PHP Foundation</a>.</p>', |
| 41 | + |
| 42 | + 'no_discard_title' => 'Атрибут #[\NoDiscard]', |
| 43 | + 'no_discard_description' => '<p>Додавши атрибут <code>#[\NoDiscard]</code> до функції, PHP перевірятиме, чи використано повернуте значення, і видасть попередження, якщо ні. Це покращує безпеку API, де повернене значення є важливим, але його легко проігнорувати.</p><p>Для явного позначення невикористаного значення можна застосувати приведення <code>(void)</code>.</p>', |
| 44 | + |
| 45 | + 'persistent_curl_share_handles_title' => 'Постійні cURL Share-хендли', |
| 46 | + 'persistent_curl_share_handles_description' => '<p>На відміну від <code>curl_share_init()</code>, хендли, створені через <code>curl_share_init_persistent()</code>, не знищуються наприкінці запиту. Якщо знайдено persistent-хендл з такими ж параметрами — він буде повторно використаний, що усуває необхідність ініціалізації cURL кожного разу.</p>', |
| 47 | + |
| 48 | + 'fcc_in_const_expr_title' => 'Замикання та First-Class Callables у константних виразах', |
| 49 | + 'fcc_in_const_expr_description' => '<p>Статичні замикання та first-class callables тепер можна використовувати в константних виразах: у параметрах атрибутів, значеннях властивостей і параметрів за замовчуванням та у константах.</p>', |
| 50 | + |
| 51 | + 'new_classes_title' => 'Додаткові можливості та покращення', |
| 52 | + 'fatal_error_backtrace' => 'Фатальні помилки (наприклад, перевищення максимального часу виконання) тепер містять backtrace.', |
| 53 | + 'const_attribute_target' => 'Атрибути тепер можуть бути націлені на константи.', |
| 54 | + 'override_attr_properties' => 'Атрибут {0} тепер можна застосовувати до властивостей.', |
| 55 | + 'deprecated_traits_constants' => 'Атрибут {0} тепер можна використовувати в трейтах і константах.', |
| 56 | + 'asymmetric_static_properties' => 'Статичні властивості тепер підтримують асиметричну видимість.', |
| 57 | + 'final_promoted_properties' => 'Властивості можуть бути позначені як <code>final</code> за допомогою promotion у конструкторі.', |
| 58 | + 'closure_getCurrent' => 'Додано метод <code>Closure::getCurrent()</code> для спрощення рекурсії в анонімних функціях.', |
| 59 | + 'partitioned_cookies' => '{0} і {1} тепер підтримують ключ "partitioned".', |
| 60 | + 'get_set_error_handler' => 'Доступні нові функції {0} і {1}.', |
| 61 | + 'new_dom_element_methods' => 'Доступні нові методи {0} і {1}.', |
| 62 | + 'grapheme_levenshtein' => 'Додано функцію {0}.', |
| 63 | + 'delayed_target_validation' => 'Новий атрибут {0} дозволяє приглушити помилки компіляції від core-та extension-атрибутів, використаних на некоректних цільових елементах.', |
| 64 | + |
| 65 | + 'bc_title' => 'Застаріння та несумісності', |
| 66 | + 'bc_backtick_operator' => 'Оператор бектіків як псевдонім для {0} оголошено застарілим.', |
| 67 | + 'bc_non_canonical_cast_names' => 'Неканонічні назви приведення <code>(boolean)</code>, <code>(integer)</code>, <code>(double)</code> та <code>(binary)</code> оголошено застарілими. Використовуйте відповідно <code>(bool)</code>, <code>(int)</code>, <code>(float)</code> та <code>(string)</code>.', |
| 68 | + 'bc_disable_classes' => 'INI-параметр {0} видалено, оскільки він порушував роботу рушія.', |
| 69 | + 'bc_semicolon_after_case' => 'Завершення операторів <code>case</code> крапкою з комою замість двокрапки оголошено застарілим.', |
| 70 | + 'bc_null_array_offset' => 'Використання <code>null</code> як індекса масиву або у викликах {0} оголошено застарілим. Використовуйте порожній рядок.', |
| 71 | + 'bc_class_alias_names' => 'Більше не можна використовувати "array" та "callable" як назви класів-аліасів у {0}.', |
| 72 | + 'bc_sleep_wakeup' => 'Магічні методи {0} і {1} оголошено мʼяко застарілими. Натомість слід використовувати {2} і {3}.', |
| 73 | + 'bc_casting_nan' => 'Тепер PHP видає попередження під час приведення {0} до інших типів.', |
| 74 | + 'bc_non_array_destructuring' => 'Деструктуризація не-масивних значень (окрім <code>null</code>) через {0} або {1} тепер викликає попередження.', |
| 75 | + 'bc_casting_non_int_floats' => 'Тепер видається попередження при приведенні float-значень (або рядків, що схожі на float) до <code>int</code>, якщо вони не можуть бути коректно представлені.', |
| 76 | + |
| 77 | + 'footer_title' => 'Кращий синтаксис, вища продуктивність і краща типобезпечність.', |
| 78 | + 'footer_description' => '<p class="first-paragraph">Повний список змін опубліковано у <a href="/ChangeLog-8.php#PHP_8_5" target="_blank">ChangeLog</a>.</p><p>Будь ласка, ознайомтеся з <a href="/manual/en/migration85.php" target="_blank">посібником з міграції</a> для детального переліку нових можливостей і несумісностей.</p>', |
| 79 | +]; |
0 commit comments