Clase Sphp_Data_Store_File

Código

<?php
class Sphp_Data_Store_File implements Sphp_Data_Store
{
    __construct(string $directory_pathbool $read_databool $write_data);
    bool delete_data(string $data_name);
    void disable_read_data(void);
    void disable_write_data(void);
    void enable_read_data(void);
    void enable_write_data(void);
    bool get_data(string $data_namemixed &$data);
    String get_directory_path(void);
    void set_data(string $data_namemixed $data, [boolean|int $data_ttl = false]);
}
?>

Descripción

La clase permite crear archivos con datos php que más tarde pueden ser reutilizados. En Simphple esta clase se usa para guardar las plantillas ya analizadas, así cuando se utiliza por segunda vez una plantilla no es necesario volver a analizarlas, sino que se extrae la que ya hay guardada. Pero esta clase puede ser usada también para muchos otros fines. Como por ejemplo guardar los datos extraidos de una BD.

El funcionamiento de esta clase es el siguiente. Por cada dato que guardamos se crea un archivo php donde se almacena la información. Posteriormente cuando se quiere recuperar el dato, la clase incluye el archivo y la información que hay guardada.

Para utilizar esta clase es necesario incluir también el interfaz Sphp_Data_Store.

Ejemplo

guardar_datos.php
<?php
    include 'simphple/data_store/data_store.intfc.php';
    include 'simphple/data_store/data_store_file.class.php';
    
    $dsf = new Sphp_Data_Store_File('cache/'truetrue);
    
    /*
        Suponemos que la variable $datos almacena el resultado
        de una base de datos o información que ha sido obtenida
        de una forma muy compleja.
    */

    
    $dsf->set_data('datos_1'$datos);
?>
extraer_datos.php
<?php
    include 'simphple/data_store/data_store.intfc.php';
    include 'simphple/data_store/data_store_file.class.php';
    
    $dsf = new Sphp_Data_Store_File('cache/'truetrue);

    if(!$dsf->get_data('datos_1'$datos){
        exit('Los datos no existen');   
    }

    var_dump($datos);
?>

Comentarios

Añadir nuevo comentario