Pāriet uz saturu
PHP Serializētājs

PHP Serializer

Laipni lūdzam mūsu PHP serializatorā. Ērti serializējiet un deserializējiet datus PHP. Šis rīks ir piemērots izstrādātājiem, kuri vēlas pārvērst sarežģītas datu struktūras saglabājamās virknēs un atjaunot to sākotnējo formu.

Ko dara PHP Serializer

PHP Serializer pārvērš JSON par PHP serialize() virknes formātu un pārvērš serializētas virknes atpakaļ formatētā JSON. Serializētajā formā virkņu garums tiek skaitīts baitos, tāpēc vērtībai ar diakritiskajām zīmēm ir lielāks garums nekā rakstzīmju skaits tajā.

Deserializējot nekad netiek izveidoti jūsu klašu objekti: objekts tiek atgriezts kā __PHP_Incomplete_Class, saglabājot tā klases nosaukumu laukā __PHP_Incomplete_Class_Name, tādējādi neuzticamai ievadei netiek ļauts izpildīt kodu. JSON objekti kļūst par PHP masīviem ar virkņu atslēgām.

Izstrādāti piemēri

JSON serializētā virknē

a:4 ir masīvs ar četriem ierakstiem, un katrai virknei ir norādīts tās garums baitos.

Ievade
{"name": "Ada", "age": 36, "admin": true, "tags": ["php", "json"]}
Rezultāts
a:4:{s:4:"name";s:3:"Ada";s:3:"age";i:36;s:5:"admin";b:1;s:4:"tags";a:2:{i:0;s:3:"php";i:1;s:4:"json";}}

Serializēta virkne par JSON

Vārdā Zürich ir 6 burti, bet UTF-8 kodējumā 7 baiti, tāpēc tā garums ir s:7.

Ievade
a:2:{s:4:"city";s:7:"Zürich";s:3:"zip";s:4:"8001";}
Rezultāts
{
  "city": "Zürich",
  "zip": "8001"
}

Serializēts objekts

Objekts netiek atjaunots kā īsta stdClass instance. Tā klases nosaukums un īpašības tiek parādītas kā dati.

Ievade
O:8:"stdClass":1:{s:2:"id";i:7;}
Rezultāts
{
  "__PHP_Incomplete_Class_Name": "stdClass",
  "id": 7
}

Serializēto tipu kodi

KodsTipsPiemērs
NnullN;
bBūla vērtība: 1 nozīmē patiess, 0 — aplamsb:1;
iVesels skaitlisi:36;
dPeldošā komata skaitlisd:0.5;
sVirkne ar garumu baitoss:3:"PHP";
aMasīvs ar ierakstu skaitu un atslēgu un vērtību pāriema:1:{i:0;s:1:"x";}
OObjekts ar klases nosaukuma garumu, klases nosaukumu un īpašību skaituO:8:"stdClass":0:{}

How to Use the PHP Serializer

  1. Input your data into the provided field.
  2. 2. darbība: noklikšķiniet uz pogas “Serialize”, lai pārvērstu datu struktūru saglabājamā virknē.
  3. 3. darbība: lai deserializētu, ievadiet serializēto virkni un noklikšķiniet uz pogas “Deserialize”, lai atjaunotu sākotnējo datu struktūru.

Benefits of Using Our PHP Serializer

  • Efektīva datu apstrāde: viegli pārvērtiet datu struktūras saglabājamos formātos.
  • Daudzpusīga lietošana: atbalsta masīvus, objektus un skalāros tipus.
  • Uzlabots darba process: vienkāršo sarežģītu datu saglabāšanu un izgūšanu PHP izstrādē.

Bieži uzdotie jautājumi

Kā serializēt datus PHP?

Lai serializētu datus PHP, ievadiet datus paredzētajā laukā un noklikšķiniet uz pogas Serializēt. Rīks pārveidos sarežģīto datu struktūru saglabājamā virknes formātā.

Kā deserializēt datus programmā PHP?

Lai deserializētu datus PHP, ievadiet serializēto virkni paredzētajā laukā un noklikšķiniet uz pogas Deserialize. Rīks pārvērš virkni atpakaļ tās sākotnējā datu struktūrā.

Kāpēc serializācija ir noderīga PHP?

Serializācija PHP ir noderīga, lai sarežģītas datu struktūras pārvērstu saglabājamā formātā, tādējādi atvieglojot datu saglabāšanu failos, datubāzēs vai pārsūtīšanu tīklos. Deserializācija ļauj iegūt un izmantot šos datus to sākotnējā formā.

Kādus datu tipus var serializēt PHP?

PHP atbalsta dažādu datu tipu, tostarp masīvu, objektu un skalāru tipu, piemēram, veselu skaitļu un virkņu, serializāciju. Tas padara to par daudzpusīgu rīku dažādu datu veidu apstrādei.

Vai, deserializējot datus, ir kādi drošības apsvērumi?

Jā, datu deserializēšana var radīt drošības riskus, jo īpaši, ja serializētie dati nāk no neuzticama avota. Vienmēr pārbaudiet un attīriet ievades datus, lai novērstu drošības ievainojamības, piemēram, objektu injekcijas uzbrukumus.

Vai es varu serializēt un deserializēt pielāgotus objektus?

Jā, PHP var serializēt un deserializēt pielāgotus objektus. Tomēr pārliecinieties, ka, deserializējot ir pieejamas klases definīcijas, lai pareizi rekonstruētu objektus.

Kas atšķir serialize() no JSON?

PHP serialize() saglabā precīzus datu tipus, privātās/aizsargātās īpašības un objektu klases informāciju, bet darbojas tikai PHP. JSON nav atkarīgs no valodas, ir lasāms, draudzīgs tīmeklī un darbojas visās valodās, bet zaudē privātās īpašības. Izmantojiet serialize() tikai PHP paredzētajai glabāšanai; JSON - API.

Kā izmantot serializāciju sesijām?

PHP automātiski serializē sesijas datus ($_SESSION) glabāšanai starp pieprasījumiem. Ja sesijās tiek glabāti masīvi vai objekti, PHP tos serializē failos vai datubāzēs, bet pēc tam, ielādējot nākamo lapu, tos deserializē. Tas ļauj saglabāt lietotāja stāvokli un iepirkumu grozus visu lapu apmeklējumu laikā.

Vai serializētus datus var glabāt datubāzēs?

Jā, glabājiet serializētos datus TEXT vai BLOB datubāzes kolonnās. Tomēr serializēti dati apgrūtina efektīvu vaicājumu veikšanu, indeksēšanu un meklēšanu. Izmantojiet serializāciju, lai veselus objektus glabātu kā vienotu kopumu, bet, ja jāveic vaicājumi par atsevišķiem laukiem, dodiet priekšroku JSON vai normalizētām tabulām.

Kā izskatās serializēti PHP dati?

Serializētajiem datiem tiek izmantoti formāta prefiksi: s:5: "hello" (virkne), i:42 (vesels skaitlis), a:2:{...} (masīvs), O:4: "User" (objekts). Skaitļi norāda garumu vai skaitu. Formāts ir kompakts, bet nav cilvēka lasāms. Izmantojiet mūsu rīku, lai konvertētu lasāmo JSON un PHP serializēto formātu.

Kā atkļūdot serializētos datus?

Deserializējiet datus, lai pārbaudītu to struktūru, izmantojiet print_r() vai var_dump() deserializētajām vērtībām, konvertējiet uz JSON, lai nodrošinātu lasāmību, pārbaudiet, vai serializācija nav nepilnīga vai bojāta, pārbaudiet objektu klašu pieejamību un izmantojiet mūsu rīku, lai vizualizētu un izprastu sarežģītas serializētās struktūras.

Vai es varu serializēt slēgumus vai anonīmās funkcijas?

Standarta PHP serializācija neatbalsta slēgumus. Šai funkcionalitātei izmantojiet tādas paketes kā Opis Closure vai Laravel SerializableClosure. Parastās funkcijas un metodes objektos var serializēt, ja tās ir definētas klasēs, bet anonīmām funkcijām nepieciešama īpaša apstrāde.

Kādas ir serializācijas maģiskās metodes?

__sleep() tiek palaists pirms serializācijas, atgriežot serializējamo īpašību masīvu (noderīgi, lai izslēgtu noteiktus datus). __wakeup() tiek palaista pēc deserializācijas inicializācijai. __serialize() un __unserialize() (PHP 7.4+) nodrošina lielāku kontroli. Ievietojiet šīs funkcijas, lai pielāgotu serializācijas uzvedību.

Kā pāriet no serializētiem datiem uz JSON?

Deserializēt esošos PHP datus, konvertēt uz masīviem/stdClass objektiem, pēc tam kodēt JSON. Atjauniniet kodu, lai serialize()/unserialize() vietā izmantotu json_encode()/json_decode(). JSON ir drošāks, lasāmāks un saderīgāks, lai gan zaudēsiet privātās īpašības un precīzu tipa saglabāšanu.

Par PHP Serializer

Ērti serializējiet un deserializējiet datus PHP, izmantojot mūsu daudzpusīgo PHP serializācijas un deserializācijas rīku. Šī tiešsaistes utilīta ir piemērota izstrādātājiem, kuri vēlas pārvērst sarežģītas datu struktūras saglabājamās virknēs un atjaunot tās sākotnējā formā. Apstrādājiet datus precīzi un efektīvi, neinstalējot programmatūru. Uzlabojiet savu PHP izstrādes darba procesu ar šo lietotājam draudzīgo un uzticamo rīku.