بسیاری از سیستمهای ذخیرهسازی اطلاعات امکان ذخیرهسازی اطلاعات غیر رشتهای را ندارند. برای مثال اغلب سیستمهای پایگاه داده رابطهای سنتی امکان ذخیرهسازی انواع پیشرفته اطلاعات مثل متغیرها و اشیا و ... را ندارند.
برای حل این مشکل و همچنین برخی نیازهای دیگر از Serialization استفاده میشود.

Serialization چیست ؟
تبدیل دادههای پیچیده مثل آرایهها و اشیاء به یک رشته را Serialization مینامیم. عمل عکس این کار هم UnSerialization نامیده میشود.
در این فرایند ممکن است تمامی جزئیات متغیر قابل تبدیل نباشند یا در دو مرحلهی پی در پی تبدیل به رشته و مجددا تبدیل به حالت اصلی، تغییراتی اتفاق بیفتد.
چه روشهایی برای Serialization وجود دارد ؟
برای این کار معمولا از روشهای زیر استفاده میشود:
- JSON
- XML
- YAML
- Protobuf
- Avro
- MessagePack
- Thrift
- PHP Serialization
روشهای دیگری هم برای این کار وجود دارد که بسته به زبان برنامهنویسی ممکن است مورد استفاده باشد.
Serialization کلاسها
به دلیل اینکه کلاسها میتوانند ویژگیهای داخلی پیچیدهای داشته باشند و اطلاعات را به شکلهای ویژهای برای هر نمونه یا به صورت مشترک برای چند نمونه نگهداری کنند، جهت Serialization صحیح، لازم است تا کلاس خود در فرآیند Serialization دخالت کند و بخشهایی از اطلاعات را پیش از تبدیل به رشته، پردازش کند و تغییر شکل بدهد.
Serialization در PHP
زبان برنامهنویسی php دارای دو تابع serialize و unserialize است میتوانند برای این کار مورد استفاده قرار بگیرند. علاوه بر این برنامهنویسان ممکن است ترحیح بدهند تا برای این کار از توابع مربوط به JSON کمک بگیرند.
بسیار عالی ممنون
بسیار عالی. دنبال مفهومش بودم. لایک داری