Json Kütüphanesi


    × Bunları biliyor muydunuz?
"Databases/ dizini bir veritabanı tablolarının şemasını oluşturup Generate::databases() komutu ile bu şemanın gerçek bir veritabanı ve tablo olarak işlenmesini sağlayabilirsiniz."


Json kütüphanesi JavaScript Nesne Notasyonu JavaScript Object Notation (JSON) ifade edebilmek için kullanılır. PHP Json eklentisi Douglas Crockford tarafından geliştirilmiştir. ZN Json kütüphanesi ise bu eklentiye bağlı olan json_* fonksiyonlarının nesne tabanlı hale getirilmesi ile oluşturulmuştur.

 

 

# Kurulum


ZN SE ve ZN CE dağıtımları için terminal kurulum komutu.

↓ composer require znframework/package-protection

 

 

# Yöntemler


String encode(Mixed $data, String $type = 'unescapedUnicode')
Mixed decode(String $data, Bool $array = false, Int $length = 512)
Array decodeArray(String $data, Int $length = 512)
Object decodeObject(String $data, Int $length = 512)
Bool check(String $data)
Int errno(Void)
String error(Void)

 

 

# Encode (ZN >= 2.0.0)


Dizi olarak gelen verileri özel verilere dönüştürür. Özellikle veritabanı sorgularında, tablonun bir sütununa birden fazla farklı türde veri kaydetmek istediğinizde kullanabilirsiniz.

Parametreler

Mixed $data Özel biçimle saklanacak veri.
String $type = 'unescapedUnicode' Maske türü.
Seçenekler hexQuot, hexTag, hexAmp, hexApos, forceObject
Return String

Kullanımı

echo Json::encode(['foo' => 'Foo', 'bar' => 'Bar']);
{"foo":"Foo","bar":"Bar"} 

 

 

# Decode (ZN >= 2.0.0)


Şifrelenen veriyi eski haline getirmek için kullanılır.

Parametreler

String $data Özel biçimi çözümlenecek veri.
Bool $array = false false, true Dizi mi yoksa obje türünde mi değer döndürsün.
Int $length = 512 Veri uzunluğu.
Return Mixed

Kullanımı

$encode = Json::encode(['foo' => 'Foo', 'bar' => 'Bar']);

output(Json::decode($encode)->foo);
output(Json::decode($encode, true)['foo']);
Foo
Foo

 

 

# DecodeArray (ZN >= 2.0.0)


Şifrelenen datayı dizi formuna getirmek için kullanılır.

Parametreler

String $data Özel biçimi çözümlenecek veri.
Int $length = 512 Veri uzunluğu.
Return Array

Kullanımı

$encode = Json::encodeArray(['foo' => 'Foo', 'bar' => 'Bar']);

output(Json::decode($encode, true)['foo']);
Foo

 

 

# DecodeObject (ZN >= 2.0.0)


Şifrelenen datayı object formuna getirmek için kullanılır.

Parametreler

String $data Özel biçimi çözümlenecek veri.
Int $length = 512 Veri uzunluğu.
Return Object

Kullanımı

$encode = Json::encodeObject(['foo' => 'Foo', 'bar' => 'Bar']);

output(Json::decode($encode, true)->foo);
Foo

 

 

# Check (ZN >= 4.0.0)


Şifrelenen datanın json verisi olup olmadığını kontrol etmek için kullanılır.

Parametreler

String $data Kontrol edilecek json veri.
Return Bool

Kullanımı

$encode = Json::encode(['foo' => 'Foo', 'bar' => 'Bar']);

if( Json::check($encode) )
{
    # your codes
}
else
{
    # your codes
}

 

 

# Error / Errno (ZN >= 2.0.0)


Json işleminde hata olup olmadığını bildirir.

Parametreler

Void
Return Bool

Kullanımı

echo Json::error();
echo Json::errno();