- Katılım
- 2 Mar 2015
- Konular
- 59,189
- Mesajlar
- 88,439
- Çözüm
- 109
- Online süresi
- 4mo 16d
- Reaksiyon Skoru
- 14,280
- Altın Konu
- 2,398
- TM Yaşı
- 11 Yıl 3 Ay 6 Gün
- Başarım Puanı
- 1,051
- MmoLira
- 695,092
- DevLira
- 234
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
PHP'de, unserialize() yerleşik işlevi PHP sürüm 4'ten itibaren kullanılabilir. PHP 7 ile, izin verilen sınıfların bir listesini geçirmeye yönelik bir hüküm eklendi. Bu, güvenilmeyen kaynağın filtrelenmesini sağlar. unserialze() işlevi, yalnızca güvenilen sınıflardan gelen verileri seri hale getirir.
PHP'de serileştirme, bir değerin depolanabilir bir gösteriminin oluşturulması anlamına gelir. Bu, PHP değerlerini türlerini ve yapılarını kaybetmeden depolamak veya iletmek için yararlıdır. Bu amaç için yerleşik serialize() işlevi kullanılır.
$options parametresi yeni tanıtıldı. Aşağıdaki anahtarların ilişkisel dizisidir:
Aşağıdaki çıktıyı üretecektir:
PHP'de serileştirme, bir değerin depolanabilir bir gösteriminin oluşturulması anlamına gelir. Bu, PHP değerlerini türlerini ve yapılarını kaybetmeden depolamak veya iletmek için yararlıdır. Bu amaç için yerleşik serialize() işlevi kullanılır.
serialize(mixed $value): string
unserialze() fonksiyonu serileştirilmiş gösterimden bir PHP değeri verir. PHP 7'den itibaren, unserialize() fonksiyonu aşağıdaki formatı takip eder:unserialize(string $data, array $options = [ ]): mixed
$data parametresi, serileştirmeyi kaldırmak istediğiniz serileştirilmiş dizgedir.$options parametresi yeni tanıtıldı. Aşağıdaki anahtarların ilişkisel dizisidir:
| Sr.No | İsim ve Açıklama |
|---|---|
| 1 | allowed_classes kabul edilmesi gereken sınıf adlarının dizisi, veya hiçbir dersi kabul etmemek yanlıştır, veya tüm dersleri kabul etmek doğrudur. Bu seçeneği atlamak, onu doğru olarak tanımlamakla aynı şeydir. |
| 2 | max_depth Serileştirme sırasında izin verilen yapıların maksimum derinliği. |
Örnek
Aşağıdaki örneğe bir göz atın:
PHP:
<?php
class MyClass {
var int $x;
function __construct(int $x) {
$this->x = $x;
}
}
class NewClass {
var int $y;
function __construct(int $y) {
$this->y = $y;
}
}
$obj1 = new MyClass(10);
$obj2 = new NewClass(20);
$sob1 = serialize($obj1);
$sob2 = serialize($obj2);
// default behaviour that accepts all classes
// second argument can be ommited.
// if allowed_classes is passed as false, unserialize converts all objects into __PHP_Incomplete_Class object
$usob1 = unserialize($sob1 , ["allowed_classes" => true]);
// converts all objects into __PHP_Incomplete_Class object except those of MyClass and NewClass
$usob2 = unserialize($sob2 , ["allowed_classes" => ["MyClass", "NewClass"]]);
echo $usob1->x . PHP_EOL;
echo $usob2->y . PHP_EOL;
?>
Aşağıdaki çıktıyı üretecektir:
10
20

