cakephp framework de puta mierda

hola a todos

odio cakephp como se puede leer en el titulo

he perdido una hora de mi vida con la chorrada mas gorda que os podais echar a la cara … necesitaba añadir un campo en un formulario de insercion de productos en la base de datos del panel de administracion de la web … añado el campo en la tabla, añado el campo en el controller en el model en casa dios … todo perfecto

publico ejecuto el campo aparece en el formulario mu guapo … hago una insercion y catacrocker, no inserta anda. Desde el formulariod e modificacion nada tampoco … inserto a pelu gochu en la tabla y en la vista desde cliente no se ve nada. Un cuadro, vamos

Despues de una hora de revolver por google y buscar manuales de php cake para retrasados como yo … no encuentro nada de nada la teoria ye toda muy guapa. Gracias a un foro di con la solucion: cambiar el modo debug de esta morralla de framework de desarrollo a produccion y de nuevo cambiarlo para dejarlo como estaba para forzar la cache y no se cuantas cosas mas … acojonante

Para hacer esto solo tenemos que irnos a la carpeta app/config y en el archivo core.php modificar o añadir porque a mi no me venia la linea Configure::write(‘debug’, 1); 0 = Modo produción. No produce ninguna salida. 1 = Muestra los error y warnings. 2 = Muestra los error, warnings, y consultas SQL 3 = Muestra los error, warnings, consultas SQL, y volcado completo del Controller.

Por si acaso toque tambien la linea Configure::write(‘Cache.disable’, true); y la puse en true que a mi me salia en false, es para que no cachee absolutamente nada de nada

en fin … como podeis ver estoy mas quemao que la moto de un jipi con el cake, seguramente sea un gran framework y la casa santa … pero a mi desde que lo conozco no me ha traido mas que disgustos y me ha quitado años de vida

espero haberle servido de ayuda a alguien, dejo por aqui un bonito enlace donde desarrollan profundamente el tema de la configuracion

http://book.cakephp.org/1.3/es/The-Manual/Developing-with-CakePHP/Configuration.html

un saludo

cache de navegador pillada en la carga de un xml y script de anulacion de cache inservibles

Todos los desarrolladores hemos tenido siempre problemas con la maldita cache, haces un cambio en un archivo y el navegador sigue mostrando la version anterior

Este es el menor de nuestros males ya que borrando la cache solucionado, el problema comienza a agravarse cuando se trata de una pagina con contenido dinamico y no puedes ir a casa de los usuarios a borrarles la cache cada vez que entren.

Existen unas lineas de codigo guapisimas en php y en html para indicar al navegador que no cachee la pagina en cuestion de tal manera que cada vez que le damos al f5 ya podemos ver todos los cambios en el contenido dinamico

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Fecha en el pasado
?>

Hasta aqui todo muy normal y un articulo mas visto que el tebeo, pero mi problema vino en la carga de un xml; los cambios en la pagina eran reflejados pero cuando se modificaba dinamicamente el contenido de este xml seguia viendo la version anterior. Le añadi las famosas lineas de indicar no guardar en cache la pagina y cual es mi sorpresa al ver que pasa de mi olimpicamente …

Despues de una hora de insultos me acorde de un truquillo muy chulo que seguramente todos conozcais pero yo tarde en acordarme de él … para forzar a la cache a cargar siempre el contenido de dicho xml o de cualquier archivo que se carga dentro de otro basta con añadirle a la url de carga una variable “fantasma” y le pasamos de valor la fecha y la hora actual de tal manera que cada vez que hagamos f5 la variable siempre va a ser diferente y el navegador reconoce la url como diferente

url: tu_url.xml?date=31/01/2012 14:56:59

Concatenamos en la url como si se tratara de un paso de valores por get, donde la variable date que le pasamos ni existe ni nadie espera recibirla ya que llamamos a un xml

var exd = new Date();
downloadUrl("google_map/xml.xml?date="+exd, function(doc) {

En concreto esto me ha pasado en el desarrollo del mapita de google que lee de un xml los puntos, y el xml se genera a partir de mySQL desde PHP … aqui esta el articulo sobre el dichoso mapa de google con clusters y la casa santa 😀 https://coudlain.wordpress.com/2012/07/31/google-maps-cluster-xml-agrupar-iconos-marcas-chinchetas-para-que-no-se-superpongan-con-javascript-by-geocodezip/

Espero que a alguien le sirva de ayuda y que si algun dia me encontrais por la calle no me deis una paliza por este articulo, un saludo

 

forzar no guardado en cache del navegador con php para evitar problemas de no actualizacion en los cambios de los archivos

Fuente:  PHP.net

Scripts PHP normalmente generan contenido dinámico que no debe ser puesto en caché por el navegador cliente o por ningún proxy caché entre el servidor y el navegador cliente. En muchos proxies y clientes se puede forzar la desactivación de la caché con:

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Fecha en el pasado
?>

Compartir urls en Facebook: definir la imagen usada como miniatura vs cache y url linter by VINCENZO MEGALE

Fuente: http://www.vinx.info/webmaster/compartir-urls-en-facebook-definir-la-imagen-u.html

No entraré en detalles sobre como integrar en una web los botones “me gusta” o “compartir” de Facebook ya que ya existe abundante información en la red, sí compartiré algo que en su día me llevó sus horas de búsquedas y pruebas: cómo sabréis al publicar un enlace en Facebook, éste reconoce el título y la descripción de la página, y aunque nos deje modificarlos es otro buen motivo para currarnos unos títulos significativos y unas descripciones personalizadas para cada url. El motivo principal para hacerlo por supuesto sigue siendo de cara a los buscadores.

Lo que no todo el mundo quizás sepa en cambio es como personalizar la imagen que Facebook propondrá como miniatura, y esto se hace añadiendo el metatag “image_src” en el encabezado de nuestras páginas:

<link href="http://www.dominio.com/ruta/imagen.jpg" rel="image_src" />

Por supuesto será tarea nuestra personalizar la miniatura en función del contenido de cada página de nuestra web.

Y ahora otro truquillo asociado: a la que probéis este código, hagáis un cambio en la imagen y volváis a compartir la url, notaréis con sorpresa que Facebook seguirá mostrando la anterior imagen. Eso es debido a que el portal cachea las urls, lo cual no está mal para aumentar la velocidad de carga, pero podría producir más de un dolor de cabeza en algunos webmasters.

Solución: visitad la aplicación URL Linter de Facebook, tecleáis la url y la aplicación os mostrará toda la información sobre ella, a parte de borrar la caché y por lo pronto podréis volver a probar otra miniatura para la misma página.