Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Colaboración: Clase Cookie

Estas en el tema de Colaboración: Clase Cookie en el foro de Frameworks y PHP orientado a objetos en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 11/04/2008, 12:46
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 8 meses
Puntos: 55
Información 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
__________________
Degiovanni Emilio
developtus.com

Última edición por emiliodeg; 11/04/2008 a las 14:26
  #2 (permalink)  
Antiguo 11/04/2008, 13:11
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
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()
        
}
    } 
  #3 (permalink)  
Antiguo 11/04/2008, 14:27
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 8 meses
Puntos: 55
Re: Colaboración: Clase Cookie

gracias por la colaboración, se me habia apsado por alto
__________________
Degiovanni Emilio
developtus.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:49.