diff --git a/include/header.inc b/include/header.inc
index 8dc0076126..48722edafa 100644
--- a/include/header.inc
+++ b/include/header.inc
@@ -61,7 +61,9 @@ if (!isset($config["languages"])) {
-
' . message('attributes_description', $lang) . '
', + links: [ + 'RFC|https://wiki.php.net/rfc/attributes_v2', + message('documentation', $lang) . "|/manual/$documentation/language.attributes.php", + ], + before: <<<'PHP' + class PostsController + { + /** + * @Route("/api/posts/{id}", methods={"GET"}) + */ + public function get($id) { /* ... */ } + } + PHP, + after: <<<'PHP' + class PostsController + { + #[Route("/api/posts/{id}", methods: ["GET"])] + public function get($id) { /* ... */ } + } + PHP, + ), + new FeatureComparison( + id: 'constructor-property-promotion', + title: message('constructor_promotion_title', $lang), + description: '' . message('constructor_promotion_description', $lang) . '
', + links: [ + 'RFC|https://wiki.php.net/rfc/constructor_promotion', + message('documentation', $lang) . "|/manual/$documentation/language.oop5.decon.php#language.oop5.decon.constructor.promotion", + ], + before: <<<'PHP' + class Point { + public float $x; + public float $y; + public float $z; -' . message('union_types_description', $lang) . '
', + links: [ + 'RFC|https://wiki.php.net/rfc/union_types_v2', + message('documentation', $lang) . "|/manual/$documentation/language.types.declarations.php#language.types.declarations.union", + ], + before: <<<'PHP' + class Number { + /** @var int|float */ + private $number; -= message('attributes_description', $lang) ?>
-= message('constructor_promotion_description', $lang) ?>
-' . message('nullsafe_operator_description', $lang) . '
', + links: ['RFC|https://wiki.php.net/rfc/nullsafe_operator'], + before: <<<'PHP' + $country = null; -' . message('saner_string_number_comparisons_description', $lang) . '
', + links: ['RFC|https://wiki.php.net/rfc/string_to_number_comparison'], + before: <<<'PHP' + 0 == 'foobar' // true + PHP, + after: <<<'PHP' + 0 == 'foobar' // false + PHP, + ), + new FeatureComparison( + id: 'consistent-type-errors-for-internal-functions', + title: message('consistent_internal_function_type_errors_title', $lang), + description: '' . message('consistent_internal_function_type_errors_description', $lang) . '
', + links: ['RFC|https://wiki.php.net/rfc/consistent_type_errors'], + before: <<<'PHP' + strlen([]); // Warning: strlen() expects parameter 1 to be string, array given - new Number('NaN'); // TypeError - PHP - );?> -= message('union_types_description', $lang) ?>
-= message('nullsafe_operator_description', $lang) ?>
-= message('saner_string_number_comparisons_description', $lang) ?>
-= message('jit_compilation_description', $lang) ?>
+= message('consistent_internal_function_type_errors_description', $lang) ?>
-= message('jit_compilation_description', $lang) ?>
-Readonly properties cannot be changed after initialization, i.e. after a value is assigned to them.
They are a great way to model value objects and data-transfer objects.
-php -l foo.php bar.php
-No syntax errors detected in foo.php
-
-
-php -l foo.php bar.php
-No syntax errors detected in foo.php
-No syntax errors detected in bar.php
-
- Faster, cleaner, and built for developers.
', - 'features_pipe_operator_title' => 'Pipe Operator', 'features_pipe_operator_description' => 'The |> operator enables chaining callables left-to-right, passing values smoothly through multiple functions without intermediary variables.
Handles can now be persisted across multiple PHP requests, avoiding the cost of repeated connection initialization to the same hosts.
', - 'features_clone_with_title' => 'Clone With', 'features_clone_with_description' => 'Clone objects and update properties with the new clone() syntax, making the "with-er" pattern simple for readonly classes.
PHP 8.5 adds a built-in URI extension to parse, normalize, and handle URLs following RFC 3986 and WHATWG URL standards.
', - 'features_no_discard_title' => '#[\NoDiscard] Attribute', 'features_no_discard_description' => 'The #[\NoDiscard] attribute warns when a return value isn’t used, helping prevent mistakes and improving overall API safety.
Static closures and first-class callables can now be used in constant expressions, such as attribute parameters.
', 'pipe_operator_title' => 'Pipe Operator', 'pipe_operator_description' => 'The pipe operator allows chaining function calls together without dealing with intermediary variables. This enables replacing many "nested calls" with a chain that can be read forwards, rather than inside-out.
Learn more about the backstory of this feature in The PHP Foundation’s blog.
', - 'array_first_last_title' => 'array_first() and array_last() functions', + 'array_first_last_title' => 'array_first() and array_last() functions',
'array_first_last_description' => 'The array_first() and array_last() functions return the first or last value of an array, respectively. If the array is empty, null is returned (making it easy to compose with the ?? operator).
The new always-available URI extension provides APIs to securely parse and modify URIs and URLs according to the RFC 3986 and the WHATWG URL standards.
Powered by the uriparser (RFC 3986) and Lexbor (WHATWG URL) libraries.
Learn more about the backstory of this feature in The PHP Foundation’s blog.
', - 'no_discard_title' => '#[\NoDiscard] Attribute', + 'no_discard_title' => '#[\NoDiscard] Attribute',
'no_discard_description' => 'By adding the #[\NoDiscard] attribute to a function, PHP will check whether the returned value is consumed and emit a warning if it is not. This allows improving the safety of APIs where the returned value is important, but it\'s easy to forget using the return value by accident.
The associated (void) cast can be used to indicate that a value is intentionally unused.
Más rápido, limpio y construido para desarrolladores.
', - 'features_pipe_operator_title' => 'Operador Pipe', 'features_pipe_operator_description' => 'El operador |> permite encadenar callables de izquierda a derecha, pasando valores suavemente a través de múltiples funciones sin variables intermedias.
Los handles ahora pueden persistir a través de múltiples peticiones PHP, evitando el costo de inicialización repetida de conexiones a los mismos hosts.
', - 'features_clone_with_title' => 'Clone With', 'features_clone_with_description' => 'Clona objetos y actualiza propiedades con la nueva sintaxis clone(), simplificando el patrón en clases readonly.
PHP 8.5 añade una extensión URI integrada para analizar, normalizar y manejar URLs siguiendo los estándares RFC 3986 y WHATWG URL.
', - 'features_no_discard_title' => 'Atributo #[\NoDiscard]', 'features_no_discard_description' => 'El atributo #[\NoDiscard] advierte cuando un valor de retorno no se usa, ayudando a prevenir errores y mejorando la seguridad.
Los closures estáticos y callables de primera clase ahora pueden usarse en expresiones constantes, como parámetros de atributos.
', 'pipe_operator_title' => 'Operador Pipe', 'pipe_operator_description' => 'El operador pipe permite encadenar llamadas a funciones sin tener que lidiar con variables intermedias. Esto permite reemplazar muchas "llamadas anidadas" con una cadena que se puede leer hacia adelante, en lugar de hacerlo de adentro hacia afuera.
Aprende más sobre esta característica en el artículo de The PHP Foundation.
', - 'array_first_last_title' => 'Funciones array_first() y array_last()', + 'array_first_last_title' => 'Funcionesarray_first() y array_last()',
'array_first_last_description' => 'Las funciones array_first() y array_last() devuelven el primer o último valor de un array, respectivamente. Si el array está vacío, se devuelve null (facilitando su usabilidad con el operador ??).
La nueva extensión URI proporciona APIs para analizar y modificar de forma segura URIs y URLs de acuerdo con los estándares RFC 3986 y WHATWG URL.
Desarrollado por las librerías uriparser (RFC 3986) y Lexbor (WHATWG URL).
Aprende más sobre esta característica en el artículo de The PHP Foundation.
', - 'no_discard_title' => 'Atributo #[\NoDiscard]', + 'no_discard_title' => 'Atributo#[\NoDiscard]',
'no_discard_description' => 'Al agregar el atributo #[\NoDiscard] a una función, PHP verificará si el valor devuelto se consume y emitirá una advertencia si no lo es. Esto permite mejorar la seguridad de APIs donde el valor devuelto es importante, pero se podría olvidar usar el valor de retorno por accidente.
El cast (void) puede usarse para indicar que un valor no se usa intencionalmente.
A diferencia de curl_share_init(), los handles creados por curl_share_init_persistent() no serán destruidos al final de la petición PHP. Si se encuentra un handle persistente compartido con el mismo conjunto de opciones compartidas, será reutilizado, evitando el costo de inicializar handles cURL de nuevo.
Plus rapide, plus propre et conçu pour les développeurs.
', - 'features_pipe_operator_title' => 'Opérateur Pipe', 'features_pipe_operator_description' => 'L\'opérateur |> permet d\'enchaîner des callables de gauche à droite, en transmettant les valeurs fluidement à travers plusieurs fonctions sans variables intermédiaires.
Les handles peuvent désormais être conservés entre plusieurs requêtes PHP, évitant le coût de l\'initialisation répétée des connexions vers les mêmes hôtes.
', - 'features_clone_with_title' => 'Clone With', 'features_clone_with_description' => 'Clonez des objets et mettez à jour leurs propriétés grâce à la nouvelle syntaxe clone(), simplifiant le pattern « with-er » pour les classes readonly.
PHP 8.5 ajoute une extension URI native pour analyser, normaliser et gérer les URL conformément aux standards RFC 3986 et WHATWG URL.
', - 'features_no_discard_title' => 'Attribut #[\NoDiscard]', 'features_no_discard_description' => 'L\'attribut #[\NoDiscard] émet un avertissement lorsqu\'une valeur de retour n\'est pas utilisée, aidant à prévenir les erreurs et à améliorer la sécurité globale des API.
Les closures statiques et les callables de première classe peuvent désormais être utilisés dans les expressions constantes, comme les paramètres d\'attributs.
', 'pipe_operator_title' => 'Opérateur Pipe', 'pipe_operator_description' => 'L\'opérateur pipe permet d\'enchaîner des appels de fonctions sans avoir recours à des variables intermédiaires. Il permet de remplacer de nombreux « appels imbriqués » par une chaîne qui se lit de gauche à droite, plutôt que de l\'intérieur vers l\'extérieur.
Pour en savoir plus sur l\'histoire de cette fonctionnalité, consultez le blog de la PHP Foundation.
', - 'array_first_last_title' => 'Fonctions array_first() et array_last()', + 'array_first_last_title' => 'Fonctionsarray_first() et array_last()',
'array_first_last_description' => 'Les fonctions array_first() et array_last() retournent respectivement la première ou la dernière valeur d\'un tableau. Si le tableau est vide, null est retourné (ce qui facilite la composition avec l\'opérateur ??).
La nouvelle extension URI, toujours disponible, fournit des API pour analyser et modifier de manière sécurisée les URI et URL selon les standards RFC 3986 et WHATWG URL.
Propulsée par les bibliothèques uriparser (RFC 3986) et Lexbor (WHATWG URL).
Pour en savoir plus sur l\'histoire de cette fonctionnalité, consultez le blog de la PHP Foundation.
', - 'no_discard_title' => 'Attribut #[\NoDiscard]', + 'no_discard_title' => 'Attribut#[\NoDiscard]',
'no_discard_description' => 'En ajoutant l\'attribut #[\NoDiscard] à une fonction, PHP vérifie si la valeur retournée est consommée et émet un avertissement dans le cas contraire. Cela permet d\'améliorer la sécurité des API pour lesquelles la valeur de retour est importante, mais peut facilement être oubliée par inadvertance.
Le cast associé (void) peut être utilisé pour indiquer qu\'une valeur est intentionnellement ignorée.
La liste complète des modifications est consignée dans le journal des modifications.
Veuillez consulter le guide de migration pour une liste détaillée des nouvelles fonctionnalités et des changements incompatibles avec les versions précédentes.
', -]; \ No newline at end of file +]; diff --git a/releases/8.5/languages/ja.php b/releases/8.5/languages/ja.php index 4729484e8d..00fb9a6c07 100644 --- a/releases/8.5/languages/ja.php +++ b/releases/8.5/languages/ja.php @@ -14,23 +14,17 @@ 'key_features' => 'PHP 8.5 の主な機能', 'key_features_description' => 'より速く、よりクリーンに。そして開発者のために。
', - 'features_pipe_operator_title' => 'パイプ演算子', 'features_pipe_operator_description' => '|> 演算子を使うと callable を左から右にチェインさせ、中間変数を使わずに値を複数の関数にスムーズに受け渡せます。
ハンドルを複数の PHP リクエストにまたがって持続させられるようになります。同じホストへの接続初期化を繰り返すコストを避けることができます。
', - 'features_clone_with_title' => 'Clone With', 'features_clone_with_description' => '新しい clone() 構文でオブジェクトを clone してプロパティを更新します。readonly クラスの "with-er" パターンが簡潔になります。
URL のパース、正規化、処理を行う新しい組み込みの URI 拡張モジュールが PHP 8.5 で追加されました。
', - 'features_no_discard_title' => '#[\NoDiscard] アトリビュート', 'features_no_discard_description' => '#[\NoDiscard] アトリビュートを使うと、戻り値が利用されていない場合に警告を出します。ミスを防ぎ全体の API 安全性を向上するのに役立ちます。
static なクロージャと第一級 callable が、アトリビュートの引数などの定数式で使えるようになります。
', 'pipe_operator_title' => 'パイプ演算子', 'pipe_operator_description' => 'パイプ演算子を使うと、中間変数を扱うことなく複数の関数呼び出しを繋げることができます。これによってたくさんの「入れ子呼び出し」を置き換え、中から外ではなく先に向かって読むことができるようになります。
この機能の背景について詳しくは PHP Foundation のブログをお読みください。
', - 'array_first_last_title' => 'array_first() ・ array_last() 関数', + 'array_first_last_title' => 'array_first() ・ array_last() 関数',
'array_first_last_description' => 'array_first()、array_last() 関数は、それぞれ配列の最初と最後の値を返します。空配列の場合は null を返します(そのため ?? 演算子と組み合わせやすいです)。
常に有効な新しい URI 拡張モジュールは、RFC 3986 と WHATWG URL 標準にしたがって URI や URL を安全にパース・編集できる API を提供します。
uriparser (RFC 3986) と Lexbor (WHATWG URL) ライブラリを利用しています。
この機能の背景は PHP Foundation のブログをお読みください。
', - 'no_discard_title' => '#[\NoDiscard] アトリビュート', + 'no_discard_title' => '#[\NoDiscard] アトリビュート',
'no_discard_description' => '#[\NoDiscard] アトリビュートを関数に追加すると、戻り値が利用されたかを PHP がチェックし、されていなければ警告を出します。これにより、戻り値が重要なのにそれを利用することをうっかり忘れやすい API の安全性を高めることができます。
関連する (void) キャストを使うと、戻り値を使っていないのが意図的であることを明示できます。
Mais rápido, mais limpo e feito para desenvolvedores.
', - 'features_pipe_operator_title' => 'Operador Pipe', 'features_pipe_operator_description' => 'O operador |> permite encadear funções da esquerda para a direita, passando valores entre múltiplas chamadas sem variáveis intermediárias.
Agora é possível manter handles compartilhados entre várias requisições PHP, evitando o custo de inicializar conexões repetidas para os mesmos hosts.
', - 'features_clone_with_title' => 'Clone With', 'features_clone_with_description' => 'Clone objetos e atualize propriedades usando a nova sintaxe clone(), facilitando o padrão “with-er” para classes readonly.
O PHP 8.5 adiciona uma extensão nativa para analisar, normalizar e manipular URLs seguindo os padrões RFC 3986 e WHATWG URL.
', - 'features_no_discard_title' => 'Atributo #[\NoDiscard]', 'features_no_discard_description' => 'O atributo #[\NoDiscard] emite um aviso quando o valor de retorno não é usado, ajudando a evitar erros e aumentando a segurança de APIs.
Closures estáticas e first-class callables agora podem ser usadas em expressões constantes, como parâmetros de atributos.
', 'pipe_operator_title' => 'Operador Pipe', 'pipe_operator_description' => 'O operador pipe permite encadear chamadas de função sem lidar com variáveis intermediárias. Isso substitui chamadas aninhadas por um fluxo mais legível de cima para baixo.
Saiba mais sobre os bastidores desse recurso no blog da The PHP Foundation.
', - 'array_first_last_title' => 'Funções array_first() e array_last()', + 'array_first_last_title' => 'Funçõesarray_first() e array_last()',
'array_first_last_description' => 'As funções array_first() e array_last() retornam, respectivamente, o primeiro ou o último valor de um array. Se o array estiver vazio, retornam null, o que facilita o uso com o operador ??.
A nova extensão URI, sempre disponível, fornece APIs para analisar e modificar URIs e URLs seguindo os padrões RFC 3986 e WHATWG URL.
Baseada nas bibliotecas uriparser (RFC 3986) e Lexbor (WHATWG URL).
Saiba mais sobre esse recurso no blog da The PHP Foundation.
', - 'no_discard_title' => 'Atributo #[\NoDiscard]', + 'no_discard_title' => 'Atributo#[\NoDiscard]',
'no_discard_description' => 'Ao marcar uma função com #[\NoDiscard], o PHP verificará se o valor retornado foi usado e emitirá um aviso caso não seja. Isso aumenta a segurança de APIs em que o retorno é importante, mas pode ser facilmente ignorado.
O cast (void) pode ser usado para indicar que o valor está sendo descartado intencionalmente.
Быстрее, лучше, доступнее для разработчиков.
', - 'features_pipe_operator_title' => 'Оператор Pipe', 'features_pipe_operator_description' => 'Оператор |> позволяет связывать вызываемые объекты слева направо, передавая значения через несколько функций без промежуточных переменных.
Теперь дескрипторы могут сохраняться между несколькими запросами PHP, что позволяет избежать затрат на повторную инициализацию соединения с одними и теми же хостами.
', - 'features_clone_with_title' => 'Clone With', 'features_clone_with_description' => 'Клонируйте объекты и обновляйте свойства с помощью нового синтаксиса clone(), который упрощает использование шаблона «with-er» для классов readonly.
В PHP 8.5 добавлен модуль URI для анализа, нормализации и обработки URL-адресов в соответствии со стандартами RFC 3986 и WHATWG URL.
', - 'features_no_discard_title' => 'Атрибут #[\NoDiscard]', 'features_no_discard_description' => 'Атрибут #[\NoDiscard] выдаёт предупреждение, если возвращаемое значение не используется, что помогает предотвратить ошибки и повысить общую безопасность API.
Статические замыкания и вызываемые объекты первого класса теперь могут использоваться в константных выражениях, таких как параметры атрибутов.
', 'pipe_operator_title' => 'Оператор Pipe', 'pipe_operator_description' => 'Оператор Pipe позволяет связывать вызовы функций в цепочку без использования промежуточных переменных. Позволяет заменить множество «вложенных вызовов» цепочкой.
Узнайте больше об этой функции в блоге PHP Foundation.
', - 'array_first_last_title' => 'Функции array_first() и array_last()', + 'array_first_last_title' => 'Функцииarray_first() и array_last()',
'array_first_last_description' => 'Функции array_first() и array_last() возвращают первое или последнее значение массива, соответственно. Если массив пустой, возвращается null (что упрощает работу с оператором ??).
Встроенный модуль URI предоставляет API для безопасного анализа и изменения URI и URL в соответствии со стандартами RFC 3986 и WHATWG URL.
Работает на базе библиотек uriparser (RFC 3986) и Lexbor (WHATWG URL).
Узнайте больше об этой функции в блоге PHP Foundation.
', - 'no_discard_title' => 'Атрибут #[\NoDiscard]', + 'no_discard_title' => 'Атрибут#[\NoDiscard]',
'no_discard_description' => 'Добавив атрибут #[\NoDiscard] к функции, PHP будет проверять, используется ли возвращаемое значение, и выдавать предупреждение, если это не так. Позволяет повысить безопасность API, где возвращаемое значение важно, но про него можно легко забыть.
Связанное приведение типов (void) может использоваться для указания, что значение намеренно не используется.
Daha hızlı, daha temiz ve geliştiriciler için tasarlanmış.
', - 'features_pipe_operator_title' => 'Pipe Operatörü', 'features_pipe_operator_description' => '|> operatörü, fonksiyonları soldan sağa zincirlemenizi sağlar ve değerleri ara değişken kullanmadan sorunsuz şekilde birden fazla fonksiyona geçirir.
Handle’lar artık birden fazla PHP isteği boyunca kalıcı olabilir, aynı hostlara tekrar bağlantı başlatma maliyetini ortadan kaldırır.
', - 'features_clone_with_title' => 'Clone With', 'features_clone_with_description' => 'Nesneleri klonlarken özellikleri yeni clone() sözdizimi ile güncellemek mümkündür, bu da readonly sınıflar için "with-er" desenini basitleştirir.
PHP 8.5, RFC 3986 ve WHATWG URL standartlarına uygun URL’leri ayrıştırmak, normalize etmek ve yönetmek için yerleşik bir URI uzantısı ekler.
', - 'features_no_discard_title' => '#[\NoDiscard] Özelliği', 'features_no_discard_description' => '#[\NoDiscard] özelliği, döndürülen değer kullanılmadığında uyarı verir, böylece hataları önler ve API güvenliğini artırır.
Artık statik closure’lar ve birinci sınıf callable’lar sabit ifadelerde kullanılabilir, örneğin attribute parametrelerinde.
', 'pipe_operator_title' => 'Pipe Operatörü', 'pipe_operator_description' => 'Pipe operatörü, fonksiyon çağrılarını ara değişkenlerle uğraşmadan zincirlemenizi sağlar. Bu, iç içe geçmiş birçok çağrıyı ileri doğru okunabilecek bir zincir ile değiştirmenize olanak tanır.
Bu özelliğin arka planını öğrenmek için PHP Foundation blogu’na bakabilirsiniz.
', - 'array_first_last_title' => 'array_first() ve array_last() fonksiyonları', + 'array_first_last_title' => 'array_first() ve array_last() fonksiyonları',
'array_first_last_description' => 'array_first() ve array_last() fonksiyonları sırasıyla bir dizinin ilk veya son değerini döndürür. Eğer dizi boşsa null döner (bu, ?? operatörü ile kullanımı kolaylaştırır).
Yeni her zaman kullanılabilir URI uzantısı, URI ve URL’leri güvenli bir şekilde ayrıştırmak ve düzenlemek için API sağlar. RFC 3986 ve WHATWG URL standartlarına uygundur.
uriparser (RFC 3986) ve Lexbor (WHATWG URL) kütüphaneleri tarafından desteklenmektedir.
Bu özelliğin arka planını öğrenmek için PHP Foundation blogu’na bakabilirsiniz.
', - 'no_discard_title' => '#[\NoDiscard] Özelliği', + 'no_discard_title' => '#[\NoDiscard] Özelliği',
'no_discard_description' => 'Bir fonksiyona #[\NoDiscard] ekleyerek PHP, döndürülen değerin kullanılıp kullanılmadığını kontrol eder ve kullanılmadığında uyarı verir. Bu, döndürülen değerin önemli olduğu API’lerde hataları önler.
Швидший, зрозуміліший, створений для розробників.
', - 'features_pipe_operator_title' => 'Оператор Pipe', 'features_pipe_operator_description' => 'Оператор |> дозволяє об\'єднувати виклики у ланцюжок зліва направо, плавно передаючи значення через кілька функцій без проміжних змінних.
Дескриптори тепер можуть зберігатися між декількома PHP-запитами, що дозволяє уникнути витрат на повторну ініціалізацію з\'єднання з тими самими хостами.
', - 'features_clone_with_title' => 'Конструкція Clone With', 'features_clone_with_description' => 'Клонуйте об\'єкти та оновлюйте властивості за допомогою нової синтаксичної конструкції clone(), яка спрощує використання шаблону «with-er» для readonly класів.
У PHP 8.5 додано розширення URI для аналізу, нормалізації та обробки URL-адрес відповідно до стандартів RFC 3986 і WHATWG URL.
', - 'features_no_discard_title' => 'Атрибут #[\NoDiscard]', 'features_no_discard_description' => 'Атрибут #[\NoDiscard] попереджає, коли повернене значення не використовується, допомагаючи запобігти помилкам і підвищити загальну безпеку API.
Статичні замикання та callable-вирази першого класу тепер можна використовувати в константних виразах, таких як параметри атрибутів.
', 'pipe_operator_title' => 'Оператор Pipe', 'pipe_operator_description' => 'Оператор Pipe дозволяє об\'єднувати виклики функцій у ланцюжок без використання проміжних змінних. Це дозволяє замінити багато «вкладених викликів» ланцюжком, який можна читати вперед, а не зсередини назовні.
Дізнайтеся більше про історію створення цієї функції у блозі PHP Foundation.
', - 'array_first_last_title' => 'Функції array_first() і array_last()', + 'array_first_last_title' => 'Функціїarray_first() і array_last()',
'array_first_last_description' => 'Функції array_first() і array_last() повертають перше або останнє значення масиву відповідно. Якщо масив порожній, повертається null (що полегшує компонування з оператором ??).
Нове вбудоване розширення URI надає API для безпечного аналізу та зміни URI та URL згідно зі стандартами RFC 3986 і WHATWG URL.
Працює на основі бібліотек uriparser (RFC 3986) і Lexbor (WHATWG URL).
Дізнайтеся більше про історію створення цієї функції у блозі PHP Foundation.
', - 'no_discard_title' => 'Атрибут #[\NoDiscard]', + 'no_discard_title' => 'Атрибут#[\NoDiscard]',
'no_discard_description' => 'Після додавання атрибуту #[\NoDiscard] до функції PHP перевірятиме, чи використовується повернене значення, і викликатиме попередження, якщо ні. Це дозволяє підвищити безпеку API, де повернене значення є важливим, але його можна випадково проігнорувати.
Відповідне приведення типу (void) може використовуватися як вказівка, що значення не використовується навмисно.
Nhanh hơn, sạch hơn, và được tối ưu cho lập trình viên.
', - 'features_pipe_operator_title' => 'Toán tử Pipe', 'features_pipe_operator_description' => 'Toán tử |> cho phép chuỗi hóa các lệnh gọi từ trái sang phải, truyền giá trị mượt mà qua nhiều hàm mà không cần biến trung gian.
Các Handle hiện có thể duy trì qua nhiều request PHP, giúp tránh chi phí khởi tạo kết nối lặp lại tới cùng một host.
', - 'features_clone_with_title' => 'Clone With (Sao chép kèm sửa đổi)', 'features_clone_with_description' => 'Sao chép đối tượng và cập nhật thuộc tính với cú pháp clone() mới, giúp triển khai mô hình "with-er" đơn giản hơn cho các lớp readonly.
PHP 8.5 bổ sung một extension URI tích hợp để phân tích, chuẩn hóa và xử lý URL theo các tiêu chuẩn RFC 3986 và WHATWG URL.
', - 'features_no_discard_title' => 'Attribute #[\NoDiscard]', 'features_no_discard_description' => 'Attribute #[\NoDiscard] sẽ đưa ra cảnh báo khi giá trị trả về không được sử dụng, giúp ngăn ngừa sai sót và cải thiện tính an toàn của API.
Các Static closure và first-class callable hiện có thể được dùng trong các biểu thức hằng số, chẳng hạn như tham số của attribute.
', 'pipe_operator_title' => 'Toán tử Pipe', 'pipe_operator_description' => 'Toán tử pipe cho phép kết nối các lệnh gọi hàm với nhau mà không cần xử lý biến trung gian. Điều này giúp thay thế các "lệnh gọi lồng nhau" bằng một chuỗi có thể đọc từ trước ra sau, thay vì từ trong ra ngoài.
Tìm hiểu thêm về lịch sử tính năng này tại Blog của PHP Foundation.
', - 'array_first_last_title' => 'Hàm array_first() và array_last()', + 'array_first_last_title' => 'Hàmarray_first() và array_last()',
'array_first_last_description' => 'Các hàm array_first() và array_last() trả về giá trị đầu tiên hoặc cuối cùng của một mảng. Nếu mảng trống, giá trị null sẽ được trả về (giúp dễ dàng kết hợp với toán tử ??).
Extension URI mới (luôn sẵn có) cung cấp các API để phân tích và chỉnh sửa URI/URL một cách an toàn theo tiêu chuẩn RFC 3986 và WHATWG URL.
Được vận hành bởi các thư viện uriparser (RFC 3986) và Lexbor (WHATWG URL).
', - 'no_discard_title' => 'Attribute #[\NoDiscard]', + 'no_discard_title' => 'Attribute#[\NoDiscard]',
'no_discard_description' => 'Bằng cách thêm attribute #[\NoDiscard] vào một hàm, PHP sẽ kiểm tra xem giá trị trả về có được tiêu thụ hay không và phát cảnh báo nếu không. Điều này giúp tăng độ an toàn cho API khi giá trị trả về là quan trọng nhưng dễ bị bỏ quên.
Ép kiểu (void) có thể được dùng để chỉ thị rằng giá trị đó cố tình không được sử dụng.
更快、更简洁、为开发者而生。
', - 'features_pipe_operator_title' => '管道操作符', 'features_pipe_operator_description' => '|> 操作符允许从左到右连接可调用项,让数值在多个函数间顺畅传递,无需中间变量。
句柄现在可以在多个 PHP 请求之间保持,不再需要重复初始化到同一主机的连接。
', - 'features_clone_with_title' => 'Clone With', 'features_clone_with_description' => '使用新的 clone() 语法可以克隆对象并更新属性,让 readonly 类的 "with-er" 模式变得简单。
PHP 8.5 增加了内置的 URI 扩展,用于按照 RFC 3986 和 WHATWG URL 标准解析、规范化和处理 URL。
', - 'features_no_discard_title' => '#[\NoDiscard] 属性', 'features_no_discard_description' => '#[\NoDiscard] 属性会在返回值未被使用时发出警告,有助于避免错误,提高 API 安全性。
静态闭包和 First-class 可调用现在可以用于常量表达式,例如属性参数。
', 'pipe_operator_title' => '管道操作符', 'pipe_operator_description' => '管道操作符允许将多个函数调用串联起来,而无需处理中间变量。它可以将许多“嵌套调用”替换成从左到右可读的链式结构。
在 The PHP Foundation 的博客中了解该特性的更多背景。
', - 'array_first_last_title' => 'array_first() 与 array_last() 函数', + 'array_first_last_title' => 'array_first() 与 array_last() 函数',
'array_first_last_description' => 'array_first() 与 array_last() 分别返回数组的第一个或最后一个值。若数组为空,则返回 null(方便与 ?? 操作符组合)。
全新的、始终可用的 URI 扩展提供了一组 API,可根据 RFC 3986 和 WHATWG URL 标准安全地解析和修改 URI 与 URL。
由 uriparser(RFC 3986)和 Lexbor(WHATWG URL)库驱动。
在 The PHP Foundation 的博客中了解更多背景。
', - 'no_discard_title' => '#[\NoDiscard] 属性', + 'no_discard_title' => '#[\NoDiscard] 属性',
'no_discard_description' => '为函数添加 #[\NoDiscard] 属性后,PHP 会检查返回值是否被使用,若未使用则发出警告。这样可以提高 API 的安全性,避免关键返回值被忽略。
可以使用 (void) 来显式表示“我就是不使用这个结果”。
setcookie()',
- 'setrawcookie()',
- ]) ?>setcookie()',
+ 'setrawcookie()',
+ ]) ?>
get_error_handler()',
- 'get_exception_handler()',
- ]) ?>get_error_handler()',
+ 'get_exception_handler()',
+ ]) ?>
Dom\Element::getElementsByClassName()',
- 'Dom\Element::insertAdjacentHTML()',
- ]) ?>Dom\Element::getElementsByClassName()',
+ 'Dom\Element::insertAdjacentHTML()',
+ ]) ?>
grapheme_levenshtein()']) ?>#[\DelayedTargetValidation]']) ?>shell_exec()'
- ]) ?>shell_exec()',
+ ]) ?>
disable_classes']) ?>array_key_exists()'
- ]) ?>array_key_exists()',
+ ]) ?>
class_alias()'
- ]) ?>class_alias()',
+ ]) ?>
__sleep()',
- '__wakeup()',
- '__serialize()',
- '__unserialize()',
- ]) ?>__sleep()',
+ '__wakeup()',
+ '__serialize()',
+ '__unserialize()',
+ ]) ?>
NAN']) ?>[]', 'list()']) ?>')) { + $subtitle = '
' . $subtitle . '
'; + } + + return << + + + + + +')) { + $description = '
' . $description . '
'; + } + + return << +$beforeCode";
+ $afterCode = "$afterCode";
+ }
+
+ $version = htmlspecialchars($version);
+ $previousVersion = htmlspecialchars($previousVersion);
+ $copyCodeButton = self::getCopyCodeButton();
+
+ if ($noBeforeCode) {
+ $codeMarkup = <<
+