Hace un tiempo le surgió una duda a un colega del MSN, no sabia utilizar el url_clean e implementarlo con .htaccess.
He puesto un ejemplo que funciona si tienes o no activado el mod_rewrite.
Es una base simple para un minicontrolador.
A disfrutarlo !.
Nota: Si queréis algo mas complejo es solo cuestión de meterle horas.
Trasteando un poco por la documentación de symfony me encontré con un sistema muy interesante para cachear trozos de códigos PHP en archivos html.
Lo he adaptado para conseguir 2 funcionillas bastante cortas. Puedes descargarte el ejemplo y trastear un poco.
Hay que tener en cuenta el define CACHE porque es la ruta donde se guardan los archivos cacheados.
Ejemplo:
<?php
//incluimos las funciones
include 'fn.cache.php';
//pasamos un ID y comprobamos si existe el cache
if(!cache('prueba')) {
echo '<ul><li>';
$list = array('xhtml','css','ajax','php');
echo join('</li><li>',$list);
echo '</li></ul>';
//guardamos la salida en cache
cache_save();
}
?>
Por defecto el cache se actualiza cada hora, aunque puedes pasar como segundo parámetro de cache() el tiempo en segundos. Lo que hace es mostrar el cache en caso que exista, sino existe obtiene toda la salida para guardarla con cache_save().
Para consultas sql y cacheado de archivos XML puede venir bien.
Partiendo como base la función google(); he creado una clase para mostrar el primer resultado en 11 buscadores.Todos funcionan con el mismo patrón, usa dos expresiones regulares, una para encontrar los resultados y la otra para obtener el enlace y el titulo.
Lista de buscadores:
- Google
- Yahoo
- AlltheWeb
- MsnSearch
- a9
- Flickr
- Technorati
- Del.icio.us
- Bloglines
- Bitacoras.com
- Wikipedia
La función a llamar devuelve un objeto con 4 variables: La pagina en donde busca (search), el titulo encontrado (title), la URL encontrada (url) y el numero de resultados de la búsqueda (results).
Ejemplo:
$google = search::google('icebeat');
echo $google->title.':'.$google->url;
Cuando queremos extraer el ultimo elemento de una matriz en php utilizamos la función array_pop , esta función nos devuelve el valor del ultimo elemento. El problema es que no puedes obtener el indice.
Como en CSSing se manejan muchos arrays he tenido que crear una función para ayudarme a obtener los indices.
Actúa igual que array_pop() pero en el caso de contener un indice no numérico devuelve un array y en caso de no serlo retorna el valor.
Ejemplo:
//indice no numerico
$stack= array("uno" => "green", "dos" => "brown", "tres" => "blue");
print_r($stack);
$end = array_ipop($stack);
print_r($end);
print_r($stack);
$end devuelve
array("tres"=>"blue");
Cuando salió una de las versiones de firefox con lector de feeds se puso de moda la etiqueta link con la url del xml, esta etiqueta proporcionaba añadirlo fácilmente al lector.
Pues con esta función podemos conseguir el feed con solo pasarle la url de la pagina y en caso de no encontrarla devolverá un valor vacío.