serializeBir değerin saklanabilir bir gösterimini üretir
&reftitle.description;
stringserializemixeddeğer
Bir değerin saklanabilir bir gösterimini üretir.
PHP değerlerini, yapısını ve türünü kaybetmeden saklamak veya aktarmak için
kullanışlıdır.
Böyle bir değerden tekrar özgün değeri elde etmek için
unserialize işlevini kullanın.
&reftitle.parameters;
değer
Dizgeleştirilecek değer. serialize işlevi,
resource türü ve bazı nesneler hariç her türü
dizgeleştirebilir. Hatta
kendine gönderimli dizileri bile dizgeleştirebilirsiniz.
Dizgeleştirdiğiniz dizi veya nesnelerin içindeki döngüsel gönderimler
bile saklanabilir. Bunlar dışında kalan gönderimler kaybedilir.
PHP nesneleri dizgeleştirirken önce __sleep veya __serialize() üye işlevlerini
çağırmaya çalışılır. Bu işlem, nesneye dizgeleştirme öncesinde bir takım
temizlikler yapabilmesi imkanını tanır. Benzer şekilde,
unserialize kullanılarak nesne özgün durumuna
getirilirken __unserialize()
veya __wakeup() üye işlevleri
çağrılmaya çalışılır.
Nesnenin özel üyelerinin isimlerinin önünde sınıf ismi, protected
üyelerin isimlerinin önünde ise bir '*' bulunur. İsimlerin başına
getirilen bu değerler her iki tarafta null baytlarla ifade edilirler.
&reftitle.returnvalues;
Belirtilen değerin herhangi bir yerde saklanabilecek, akımlar üzerinden
aktarılabilen bir gösterimini döndürür.
Bunun ikil bir dizge oluşuna, null baytlar içerebileceğine ve ikil olarak
ele alınabileceğine dikkat ediniz. Örneğin,
serialize çıktısının genelde bir veritabanının bir
CHAR veya TEXT alanında değil bir BLOB alanında saklanması gerekir.
&reftitle.examples;
- serialize örneği
]]>
&reftitle.notes;
Yerleşik PHP nesenelerinin çoğunun dizgeleştirilemeyeceğine dikkar
ediniz. Bu bakımda ya Serializable arayüzü
veya sihirli __serialize()/__unserialize() veya __sleep()/__wakeup() yöntemleri kullanılarak
gerçeklenir. Dahili bir sınıf bu gereksinimleri sağlamıyorsa gerektiği
gibi dizgeleştirilemez.
Yukarıdaki kuralın geçmişten gelen bazı istisnaları olup bazı dahili
nesneler arayüz gerçeklemeden veya malum yöntemleri kullanmadan
dizgeleştirilebilir.
serialize işlevi nesneleri dizgeleştirirken, azami
uyumluluğu sağlamak için isimalanlı sınıfların sınıf isimlerinin sonuna
tersbölü konmaz.
&reftitle.seealso;
unserializevar_exportjson_encodeNesneleri Dizgeleştirme__sleep()__wakeup()__serialize()__unserialize()