From bf28a393aa4495f4c275ac6156d0dbe2a3dd5cc5 Mon Sep 17 00:00:00 2001 From: lacatoire Date: Tue, 9 Jun 2026 14:41:58 +0200 Subject: [PATCH 1/2] [Sync EN] unserialization: allowed_classes option with enums Refs: php/doc-en@8af3521cb43f54c652baaf8dbbcb786b79a5d04e --- language/enumerations.xml | 66 +++++++++++++++++++------ reference/var/functions/unserialize.xml | 12 ++++- 2 files changed, 63 insertions(+), 15 deletions(-) diff --git a/language/enumerations.xml b/language/enumerations.xml index 04f142677..314a06f73 100644 --- a/language/enumerations.xml +++ b/language/enumerations.xml @@ -1,4 +1,4 @@ - + Enumerações @@ -37,6 +37,7 @@ name; value; value; value . "\n"; 'Vermelho', Naipe::Paus, Naipe::Espadas => 'Preto', }; @@ -405,6 +414,7 @@ print Naipe::Ouros->forma(); // imprime "Retângulo" 'Vermelho', Naipe::Paus, Naipe::Espadas => 'Preto', }; @@ -453,6 +463,7 @@ enum Naipe: string implements Colorido 'Vermelho', Naipe::Paus, Naipe::Espadas => 'Preto', }; @@ -508,6 +519,7 @@ final class Naipe implements UnitEnum, Colorido self::Pequeno, $cm < 100 => self::Medio, default => self::Grande, @@ -550,6 +562,7 @@ var_dump(Tamanho::fromLength(50)); 'Vermelho', Naipe::Paus, Naipe::Espadas => 'Preto', }; @@ -636,6 +651,7 @@ var_dump($naipe->forma()); newInstanceWithoutConstructor + + A opção allowed_classes de + unserialize não afeta + Enumerações. + + Se uma Enumeração Pura for serializada para JSON, um erro será lançado. Se uma Enumeração Apoiada for serializada para JSON, ela será representada apenas por seu valor escalar, no @@ -831,11 +856,14 @@ print serialize(Naipe::Copas); @@ -892,7 +922,9 @@ function bar(B $b) { 'Pendente', self::Ativo => 'Ativo', self::Suspenso => 'Suspenso', @@ -1025,6 +1062,7 @@ var_dump($status->rotulo()); - + unserialize @@ -103,6 +103,9 @@ Omitir esta opção é o mesmo que defini-la como &true;: o PHP tentará instanciar objetos de qualquer classe. + + Esta opção não afeta Enumerações. + @@ -172,6 +175,13 @@ de options não for um array de nomes de classes. + + 8.4.0 + + Desserializar strings usando a tag maiúscula "S" + está agora obsoleto; use a tag minúscula "s" em vez disso. + + 8.3.0 From 1cecd412d385c0e3a30402babdb5aa88af33ebb7 Mon Sep 17 00:00:00 2001 From: Leonardo Lara Rodrigues Date: Thu, 18 Jun 2026 15:47:24 -0300 Subject: [PATCH 2/2] Update unserialize.xml to reflect deprecation notice --- reference/var/functions/unserialize.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/var/functions/unserialize.xml b/reference/var/functions/unserialize.xml index 3a6c1ed91..ceeea0420 100644 --- a/reference/var/functions/unserialize.xml +++ b/reference/var/functions/unserialize.xml @@ -179,7 +179,7 @@ 8.4.0 Desserializar strings usando a tag maiúscula "S" - está agora obsoleto; use a tag minúscula "s" em vez disso. + foi descontinuado; use a tag minúscula "s" em vez disso.