Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/12/2007, 08:44
Sanubrio
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Php con variables a php sin variables amigable a buscadores

Código PHP:
class Uri
{
  protected static 
$inicializada false;  
  
  protected static 
$parametros = array();
  
  protected static function 
inicializar()
  {
      if (!
self::$inicializada)
      {
          
$uri explode('/'$_SERVER['PHP_SELF']);
          
          
$file false;
          
$nombre null;
          foreach (
$uri as $valor)
          {
              if (!
$valor || ($valor && !$file))
              {
                if (
$valor)
                {
                    
$file true;
                }
                
                continue;
              }
              
              if (
$nombre)
              {
                  
self::asignarParametro($nombre$valor);
                  
$nombre null;
              }
              else
              {
                  
$nombre $valor;
              }
          }
          
          
self::$inicializada true;
      }
  }
  
  protected static function 
asignarParametro($nombre$valor)
  {
      
self::$parametros[$nombre] = $valor;
  }  
  
  public static function 
obtenerParametro($nombre)
  {
    
self::inicializar();
    
      if (isset(
self::$parametros[$nombre]))
      {
          return 
self::$parametros[$nombre];
      }
      
      return 
null;
  }
  
  public static function 
obtenerTodosParametros()
  {
    
self::inicializar();
    
      return 
self::$parametros;
  }
  
  public static function 
obtenerEnlace($string)
  {
      
$string explode('&'$string);
      
      
$return $_SERVER['SCRIPT_NAME'];
      foreach (
$string as $valor)
      {
        
$pos strpos($valor'=');
          if (
$pos === false || $pos == || strlen($valor) == $pos)
          {
              continue;
          }
          
          
$return .= '/'.substr($valor0$pos).'/'.substr($valor$pos 1);
      }
      
      return 
$return;
  }
}

// enlace
echo '<a href="'.Uri::obtenerEnlace('seccion=4').'">Seccion</a>';

// seccion
echo Uri::obtenerParametro('seccion');