PHP Classes

File: README-ES.md

Recommend this page to a friend!
  Classes of Josantonius   PHP Session Manager   README-ES.md   Download  
File: README-ES.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: PHP Session Manager
Manage values stored as session variables
Author: By
Last change: Updated to 1.1.7 version
Updated to 1.1.7 version
Date: 6 years ago
Size: 8,538 bytes
 

Contents

Class file image Download

PHP Session library

Latest Stable Version Latest Unstable Version License Codacy Badge Total Downloads Travis PSR2 PSR4 CodeCov

English version

Biblioteca PHP para manejo de sesiones.

Requisitos

Esta clase es soportada por versiones de PHP 5.6 o superiores.

Instalación

La mejor forma de instalar esta extensión es a través de Composer.

Para instalar PHP Session library, simplemente escribe:

$ composer require Josantonius/Session

El comando anterior sólo instalará los archivos necesarios, si prefieres descargar todo el código fuente puedes utilizar:

$ composer require Josantonius/Session --prefer-source

También puedes clonar el repositorio completo con Git:

$ git clone https://github.com/Josantonius/PHP-Session.git

O instalarlo manualmente:

Descargar Session.php:

$ wget https://raw.githubusercontent.com/Josantonius/PHP-Session/master/src/Session.php

Métodos disponibles

Métodos disponibles en esta biblioteca:

- Establecer prefijo para sesiones:

Session::setPrefix($prefix);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $prefix | Prefijo para las sesiones. | object | Sí | |

# Return (boolean)

- Obtener prefijo de las sesiones:

Session::getPrefix();

# Return (string) ? prefijo de las sesiones

- Iniciar sesión si la sesión no se ha iniciado:

Session::init();

# Return (boolean)

- Añadir valor a una sesión:

Session::set($key, $value);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $key | Nombre de la sesión. | string | Sí | | | $value | Datos a guardar. | mixed | No | false |

# Return (boolean true)

- Extraer valor y borrar sesión:

Session::pull($key);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $key | Nombre de la sesión a extraer. | string | Sí | |

# Return (mixed|null) ? valor de la sesión o null si no existe

- Obtener el valor de la sesión:

Session::get($key, $secondkey);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $key | Nombre de la sesión. | string | No | '' | | $secondkey | Segunda clave de la sesión. | string|boolean | No | false |

# Return (mixed|null) ? valor de la sesión o null si no existe

- Obtener ID de la sesión:

Session::id();

# Return (string) ? sesión ID o vacío

- Regenerar session_id:

Session::regenerate();

# Return (string) ? el nuevo ID de la sessión

- Vaciar y destruir sesiones:

Session::destroy($key, $prefix);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $key | ID de la sesión a destruir. | string | No | '' | | $prefix | Si se establece en true, se eliminarán todas las sesiones con el prefijo indicado. | boolean | No | false |

# Return (boolean)

Cómo empezar

Para utilizar esta biblioteca con Composer:

require __DIR__ . '/vendor/autoload.php';

use Josantonius\Session\Session;

Si la instalaste manualmente, utiliza:

require_once __DIR__ . '/Session.php';

use Josantonius\Session\Session;

Uso

Ejemplo de uso para esta biblioteca:

- Establecer prefijo para sesiones:

Session::set('name', 'Joseph');

- Obtener prefijo de las sesiones:

Session::getPrefix();

- Iniciar sesión:

Session::init();

- Añadir valor a una sesión:

Session::init();

- Agregar valor múltiple a las sesiones:

$data = [
    'name'     => 'Joseph',
    'age'      => '28',
    'business' => ['name' => 'Company'],
];

Session::set($data);

- Extraer y borrar sesión:

Session::pull('age');

- Obtener el valor de la sesión:

Session::get('name');

- Obtener el valor de la sesión introduciendo dos índices:

Session::get('business', 'name');

- Obtener todos los elementos de la sesión:

Session::get();

- Obtener ID de la sesión:

Session::id();

- Regenerar session_id:

Session::regenerate();

- Destruir un elemento de la sesión:

Session::destroy('name');

- Destruir todas las sesiones con determinado prefijo:

Session::destroy('ses_', true);

- Destruir todas las sesiones:

Session::destroy();

Tests

Para ejecutar las pruebas necesitarás Composer y seguir los siguientes pasos:

$ git clone https://github.com/Josantonius/PHP-Session.git

$ cd PHP-Session

$ composer install

Ejecutar pruebas unitarias con PHPUnit:

$ composer phpunit

Ejecutar pruebas de estándares de código PSR2 con PHPCS:

$ composer phpcs

Ejecutar pruebas con PHP Mess Detector para detectar inconsistencias en el estilo de codificación:

$ composer phpmd

Ejecutar todas las pruebas anteriores:

$ composer tests

? Tareas pendientes

  • [ ] Añadir nueva funcionalidad.
  • [ ] Mejorar pruebas.
  • [ ] Mejorar documentación.
  • [ ] Refactorizar código para las reglas de estilo de código deshabilitadas. Ver phpmd.xml y .php_cs.dist.

Contribuir

Si deseas colaborar, puedes echar un vistazo a la lista de issues o tareas pendientes.

Pull requests

  • Fork and clone.
  • Ejecuta el comando `composer install` para instalar dependencias. Esto también instalará las dependencias de desarrollo.
  • Ejecuta el comando `composer fix` para estandarizar el código.
  • Ejecuta las pruebas.
  • Crea una nueva rama (branch), commit, push y envíame un pull request.

¡Gracias a quienes ya habéis contribuido a este proyecto!

<img alt="peter279k" src="https://avatars2.githubusercontent.com/u/9021747?v=4&s=117" height="117" width="117"> | :---:| peter279k|

Repositorio

La estructura de archivos de este repositorio se creó con PHP-Skeleton.

Licencia

Este proyecto está licenciado bajo licencia MIT. Consulta el archivo LICENSE para más información.

Copyright

2017 - 2018 Josantonius, josantonius.com

Si te ha resultado útil, házmelo saber :wink:

Puedes contactarme en Twitter o a través de mi correo electrónico.