Json Kütüphanesi
"URL::base() ve URL::site() kullanımları farklıdır. Özellikle varlık dosyalarına yol verilirken URL::base(), [a] etiketi ile köprü oluştururken URL::site() kullanılmalıdır."
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 dağıtımları için kurulum gerekmez.
↓ composer require znframework/package-protection
# Yöntemler
# Encode
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
array | object $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']);
# Decode
Şifrelenen veriyi eski haline getirmek için kullanılır.
Parametreler
string $data | Özel biçimi çözümlenecek veri. | |
bool $arr = false | false, true | Dizi mi yoksa obje türünde mi değer döndürsün. |
int $depth = 512 | Veri derinlik miktarı. Ön tanımlı olarak 512 boyutlu bir JSON içeriği çözülebilir. | |
return array | object |
Kullanımı
$encode = Json::encode(['foo' => 'Foo', 'bar' => 'Bar']);
output(Json::decode($encode)->foo);
output(Json::decode($encode, true)['foo']);
Foo
Opsiyonel yöntemdir. Şifrelenen datayı dizi formuna getirmek için kullanılır.
$encode = Json::encode(['foo' => 'Foo', 'bar' => 'Bar']);
output(Json::decodeArray($encode)['foo']);
Opsiyonel yöntemdir. Şifrelenen datayı object formuna getirmek için kullanılır.
$encode = Json::encode(['foo' => 'Foo', 'bar' => 'Bar']);
output(Json::decodeObject($encode)->foo);
# Write [6.4.1][2021-01-28]
Dizi veya objeyi json dosyası içerisine yazar
Parametreler
string $file | Dosya adı. .json uzantısı koymaya gerek yoktur. | |
array | object $data | Özel biçimle saklanacak veri. | |
return bool |
Kullanımı
Json::write('example', ['foo' => 'Foo', 'bar' => 'Bar']);
# Read [6.4.1][2021-01-28]
Json dosyasının içeriğini parametreye bağlı olarak array veya objeye çevirir.
Parametreler
string $file | Dosya adı. .json uzantısı koymaya gerek yoktur. | |
bool $arr = false | Dizi mi? True ayarlanması durumunda [ array ] belirtilemez veya false belirtilirse [ object ] türünde değer döndürür. | |
return array | object |
Kullanımı
output(Json::read('example'));
[$arr = true]
Bu parametrenin true ayarlanması durumunda ise yöntem array türünde dönüş sağlar.
output(Json::read('example'));
Opsiyonel yöntemdir. Json::read($file, true) kullanımı gibidir.
output(Json::readArray('example'));
Opsiyonel yöntemdir. Json::read($file) kullanımı gibidir.
output(Json::readArray('example'));
# Check
Ş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
Json işleminde hata olup olmadığını bildirir.
Parametreler
return bool |
Kullanımı
echo Json::error();
echo Json::errno();