Está en la página 1de 2

Para limpiar la caché de manera más generalizada en CodeIgniter 3, puedes seguir los

siguientes pasos:

1. Configurar la expiración de la caché: Puedes establecer la expiración de la caché en el


archivo `config.php` de tu aplicación. Busca la configuración `$config['cache_expire']` y
establece un valor en minutos para determinar cuánto tiempo deben mantenerse en caché las
páginas. Por ejemplo, establecerlo en `0` significa que las páginas no se almacenarán en caché.
Puedes ajustar este valor según tus necesidades.

2. Crear un middleware personalizado: Puedes crear un middleware personalizado en


CodeIgniter 3 para limpiar la caché en puntos específicos de tu aplicación. Primero, crea un
archivo llamado `CacheMiddleware.php` en la carpeta `application/middleware` de tu proyecto
y agrega el siguiente código:

```php

class CacheMiddleware {

public function __construct() {

$this->CI =& get_instance();

public function cleanCache() {

$this->CI->output->clean_cache();

public function handle() {

// Lógica de tu middleware aquí

$this->cleanCache();

```

Este middleware se encarga de limpiar la caché utilizando la función `clean_cache()` en cada


solicitud.
3. Configurar el middleware: Abre el archivo `config.php` nuevamente y busca la configuración
`$config['subclass_prefix']`. Asegúrate de que esté configurado como una cadena vacía:
`$config['subclass_prefix'] = '';`. Esto permitirá que CodeIgniter cargue automáticamente el
middleware personalizado sin la necesidad de extender clases.

4. Usar el middleware: Para aplicar el middleware a tus controladores, agrega una propiedad
`$middlewares` en tu controlador y especifica el nombre del middleware que deseas usar. Por
ejemplo:

```php

class MiControlador extends CI_Controller {

protected $middlewares = ['CacheMiddleware'];

public function miMetodo() {

// Resto del código de tu método

```

Al hacerlo, el middleware `CacheMiddleware` se ejecutará antes de que se ejecute el método


`miMetodo()` en tu controlador, lo que limpiará la caché en cada solicitud.

Recuerda que CodeIgniter 3 no tiene soporte nativo para middlewares, pero puedes utilizar
una implementación de terceros como `kenjis/ci-phpunit-test` para habilitar esta funcionalidad.

También podría gustarte