CodeIgniter - Sayfa Önbelleğe Alma
Bir sayfanın önbelleğe alınması, sayfa yükleme hızını artıracaktır. Sayfa önbelleğe alınmışsa, tam olarak oluşturulmuş durumunda saklanacaktır. Bir dahaki sefere, sunucu önbelleğe alınmış sayfa için bir istek aldığında, doğrudan istenen tarayıcıya gönderilecektir.
Önbelleğe alınan dosyalar şurada saklanır: application/cacheKlasör. Önbelleğe alma, sayfa bazında etkinleştirilebilir. Önbelleği etkinleştirirken, önbelleğe alınmış klasörde kalması gereken zamanı ayarlamamız gerekir ve bu süreden sonra otomatik olarak silinir.
Önbelleğe Almayı Etkinleştir
Önbelleğe alma, denetleyicinin yöntemlerinden herhangi birinde aşağıdaki satırı çalıştırarak etkinleştirilebilir.
$this->output->cache($n);
Nerede $n sayısı minutes, sayfanın yenilemeler arasında önbelleğe alınmasını istiyorsunuz.
Önbelleğe Almayı Devre Dışı Bırak
Önbellek dosyası süresi dolduğunda silinir, ancak manuel olarak silmek istediğinizde devre dışı bırakmanız gerekir. Aşağıdaki satırı uygulayarak önbelleğe almayı devre dışı bırakabilirsiniz.
// Deletes cache for the currently requested URI
$this->output->delete_cache();
// Deletes cache for /foo/bar
$this->output->delete_cache('/foo/bar');
Misal
Adlı bir denetleyici oluşturun Cache_controller.php ve içine kaydet application/controller/Cache_controller.php
<?php
class Cache_controller extends CI_Controller {
public function index() {
$this->output->cache(1);
$this->load->view('test');
}
public function delete_file_cache() {
$this->output->delete_cache('cachecontroller');
}
}
?>
Adlı bir görünüm dosyası oluşturun test.php ve içine kaydet application/views/test.php
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>CodeIgniter View Example</title>
</head>
<body>
CodeIgniter View Example
</body>
</html>
Değiştir routes.php dosyasında application/config/routes.php Yukarıdaki denetleyici için yol eklemek ve aşağıdaki satırı dosyanın sonuna eklemek için.
$route['cachecontroller'] = 'Cache_controller';
$route['cachecontroller/delete'] = 'Cache_controller/delete_file_cache';
Örneği yürütmek için tarayıcıya aşağıdaki URL'yi yazın.
http://yoursite.com/index.php/cachecontroller
Yukarıdaki URL'yi ziyaret ettikten sonra, bunun için bir önbellek dosyasının oluşturulacağını göreceksiniz. application/cacheKlasör. Dosyayı silmek için aşağıdaki URL'yi ziyaret edin.
http://yoursite.com/index.php/cachecontroller/delete