Bu işlem genelde veriyi cachelemek( önbelleğe almak ) için kullanılır . Örneklemek gerekirse şöyle açıklayabiliriz , belli bir adresten bir json verisi çektiğini varsayalım her işlem sırasında adrese gidip aynı veriyi çekmesi gerekecektir , bu da sistemde uzun süreli bir yavaşlamaya dönüşecektir.
Burada yapmamız gereken işlem ilk çektiğimizde onu sistemimizde cahceleyip ardından cachelediğimiz veriyi kullanmak olacaktır.
Bu işlem Drupal 7 ve Drupal 8 için değişik şekillerde işlemektedir.
Drupal 7 için ;
Veriyi günde bir kez çekeceğimiz için çektiğimiz günü ve çektiğimiz veriyi cacheleyip , ardından aynı günde isek tekrar çekmeyeceğiz.
$today = date("m.d.y"); if(variable_get('myvariablevaluecreated') != $today ){ $newjson = file_get_contents("http://example/Test.json"); variable_set('myvariablevalue', $newjson); variable_set('myvariablevaluecreated', date("m.d.y")); } $json = variable_get('frekanslistvariable');
variable_set('cachelenendegiskenadi' , 'merhabalar') işlemi cachlenecek değişken e veriyi girmemizi sağlar.
variable_get('cachelenendegiskenadi') işlemi cachlenen değişken e girdiğimiz veriyi çekmemizi sağlar.
Şimdi variable_get('cachelenendegiskenadi') şeklindeki kod u çalıştırıp ekrana bastığım takdirde "merhabalar" yazısını ekrana basacaktır.
Drupal 8 için ;
Drupal 8 drupal 7 ye nazaran daha fazla mvc yönelimli olduğu için , yapmamız gereken işlemler biraz daha karışık gelebilir.
Bu variable tanımlamasını bir module içinde kullandığımız farzedelim ,
Modul klasörümüzün içerisine
moduladi.schema.yml dosyası oluşturup içini aşağıdaki şekilde dolduralım.
moduladi.settings: type: mapping label: Degiskenlerimin ayarlari burada bulunmaktadir mapping: ilkdegiskenim: type: string
moduladi.settings.yml dosyası oluşturup içini aşağıdaki şekilde dolduralım.
ilkdegiskenim: 'Merhabalar ilk degisken icerigim'
Değişkenimizi tanımladık içerik girdik şimdi değişkenimizi çağıralım .
$config = \Drupal::config('moduladi.settings'); $ilkdegiskenim = $config->get('ilkdegiskenim');
Kod u çalıştırıp ekrana bastığım takdirde "Merhabalar ilk degisken icerigim" yazısını ekrana basacaktır.
Şimdi bu değişkenimize yeni bir veri tanımlayalım .
$config = \Drupal::service('config.factory')->getEditable('moduladi.settings'); $config->set('ilkdegiskenim', 'ilkdegiskenimin icerigini degistirdim') ->save();
Değişkenimizin içeriğini ilkdegiskenimin icerigini degistirdim yazısı ile değiştirdik.
Bu veri veritabanında saklanmaktadır. min 64 kb max 16 GB şeklinde bulunmaktadır.
Veritabanınıza girdiğinizde `cache_variable` tablosunda eklediğiniz veriyi ve eklenme saatini görebilirsiniz.
Eklenme saati EPOCH olarak tutulmaktadır.
Epoch verisini aşağıdaki şekilde çevrim yapabilirisiniz.
$epoch = 1344988800; $dt = new DateTime("@$epoch"); echo $dt->format('Y-m-d H:i:s');
GOSB Teknopark Hi-Tech Bina 3.Kat B3 Gebze - KOCAELİ