PHP 8.4.22 Released!

Serialización

Las enumeraciones se serializan de manera diferente a los objetos. Específicamente, tienen un nuevo código de serialización, "E", que especifica el nombre del caso de enumeración. La rutina de deserialización puede entonces usar eso para establecer una variable al valor singleton existente. Eso asegura que:

<?php
enum Suit: string
{
case
Hearts = 'H';
case
Diamonds = 'D';
case
Clubs = 'C';
case
Spades = 'S';
}

Suit::Hearts === unserialize(serialize(Suit::Hearts));

print
serialize(Suit::Hearts);
// E:11:"Suit:Hearts";

Al deserializar, si no se puede encontrar una enumeración y un caso para coincidir con un valor serializado, se emitirá una advertencia y se devolverá false.

Si una Enumeración Pura se serializa a JSON, se lanzará un error. Si una Enumeración Respaldada se serializa a JSON, estará representada solo por su valor escalar, en el tipo apropiado. El comportamiento de ambas puede ser sobrescrito implementando JsonSerializable.

Para print_r(), la salida de un caso de enumeración es ligeramente diferente de los objetos para minimizar la confusión.

<?php
enum Foo {
case
Bar;
}

enum
Baz: int {
case
Beep = 5;
}

print_r(Foo::Bar);
print_r(Baz::Beep);

/* Produce

Foo Enum (
[name] => Bar
)
Baz Enum:int {
[name] => Beep
[value] => 5
}
*/
add a note

User Contributed Notes 1 note

up
0
admin at monkacres dot se
2 days ago
With the try-catch block, it gave me this error
db.r103.websupport.seSuccessfully connected!Felmeddelande: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '?,?,?) SLEEP(1)' at line 1
Fatal error: Uncaught Error: Call to a member function bind_param() on null in /data/b/9/b978798f-dd6c-4ab7-a020-f3e998d6dfc0/monkacres.se/web/register.php:28 Stack trace: #0 {main} thrown in /data/b/9/b978798f-dd6c-4ab7-a020-f3e998d6dfc0/monkacres.se/web/register.php on line 28
And this is easy

First, add
$userName=$_POST['userName'] ?? '';
$emailVerify=$_POST['emailVerify'] ?? '';
$passWord=$_POST['passWord'] ?? '';
To Top