Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks y PHP orientado a objetos (http://www.forosdelweb.com/f68/)
-   -   Colaboración: Clase Cookie (http://www.forosdelweb.com/f68/colaboracion-clase-cookie-575056/)

emiliodeg 11/04/2008 12:46

Colaboración: Clase Cookie
 
Bueno como un terrible aficinado al PHP y sobre todo al POO, quiero dejar aqui mi primer aporte, aunque pequeño y simplón amí ha servido bastante esta clase para manejar Cookies, aqui la clase y mas abajos algunas pruebas
Código PHP:

/*********************
* Clase Cookie v0.2.1  *
* www.developtus.com *
**********************/
class Cookie{
        public static function 
set($cookieName,$value='',$time=3600,$path=null,$domain=null,$httpOnly=false){
            
setcookie($cookieName,$value,time()+(int)$time,$path,$domain,(bool)$httpOnly);
            
$_COOKIE[$cookieName]=$value;
        }
        public static function 
get($cookieName,$defaultValue=''){
            return 
self::exists($_COOKIE[$cookieName])?$_COOKIE[$cookieName]:$defaultValue?$defaultValue:false;
        }
        public static function 
del($cookieName,$value='',$time=-3600,$path=null,$domain=null,$httpOnly=false){
            
self::set($cookieName,$value,$time,$path,$domain,$httpOnly);
            unset(
$_COOKIE[$cookieName]);
        }
        public static function 
exists($cookieName){
            return isset(
$_COOKIE[$cookieName]);
        }
        public static function 
isEmpty($cookieName){
            return empty(
$_COOKIE[$cookieName]);
        }
        public static function 
delAll(){
            
$count=count($_COOKIE);
            
$names=array_keys($_COOKIE);
            for(
$i=0;$i<$count;$i++){
                
self::del($names[$i]);
            }
//for()
        
}
    } 

un modo sencillo de utilizar esta clase

Código PHP:

include_onde('class.cookie.php');

Cookie::set('var1','hola mundo!',60); //crear cookie de nombre var1 con valor "hola mundo" y que dure un minuto
echo Cookie::get('var1'); //imprime el valor de la cookie var1
Cookie::set('copiaVar1',Cookie::get('var1'));//copiar var1 a una nueva cookie llamada copiavar1
if(Cookie::exists('copiaVar1')) {echo "existe la cookie";}//comprueba si existe la cookie
if(!Cookie::isEmpty('copiaVar1')) {echo "la cookie no esta vacia";}//comprueba si no esta vacia la cookie
Cookie::delAll(); //borra todas las cookies 

se aceptan comentarios o sugerencias :-)

0.2.1 se agrego "static" a los metodos

zsamer 11/04/2008 13:11

Re: Colaboración: Clase Cookie
 
tus metodos son tratados como estaticos, entonces deberían ser estaticos:

Código PHP:

class Cookie{
        public static function 
set($cookieName,$value='',$time=3600,$path=null,$domain=null,$httpOnly=false){
            
setcookie($cookieName,$value,time()+(int)$time,$path,$domain,(bool)$httpOnly);
            
$_COOKIE[$cookieName]=$value;
        }
        public static function 
get($cookieName,$defaultValue=''){
            return 
self::exists($_COOKIE[$cookieName])?$_COOKIE[$cookieName]:$defaultValue?$defaultValue:false;
        }
        public static function 
del($cookieName,$value='',$time=-3600,$path=null,$domain=null,$httpOnly=false){
            
self::set($cookieName,$value,$time,$path,$domain,$httpOnly);
            unset(
$_COOKIE[$cookieName]);
        }
        public static function 
exists($cookieName){
            return isset(
$_COOKIE[$cookieName]);
        }
        public static function 
isEmpty($cookieName){
            return empty(
$_COOKIE[$cookieName]);
        }
        public static function 
delAll(){
            
$count=count($_COOKIE);
            
$names=array_keys($_COOKIE);
            for(
$i=0;$i<$count;$i++){
                
self::del($names[$i]);
            }
//for()
        
}
    } 


emiliodeg 11/04/2008 14:27

Re: Colaboración: Clase Cookie
 
gracias por la colaboración, se me habia apsado por alto


La zona horaria es GMT -6. Ahora son las 06:33.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.