Wednesday, October 17, 2007

Comprimir archivos JS y CSS de tu sitio

Ya que estoy probando el framework para javascript EXTJS, tuve dudas en usarlo por su tamaño (~500Kb). Pero buscando encontré esta solución que es muy interesante, fácil y necesaria de usar.

Es una cabecera para comprimir el archivo que quieras, en este caso javascript y css.

¿Como?

1) Creamos el archivo compresor para CSS:
gzip-css.php
'<'?php
ob_start ("ob_gzhandlerCSS");
header("Content-type: text/css; charset: UTF-8");
header("Cache-Control: must-revalidate");
$offset = 60 * 60 ;
$ExpStr = "Expires: " .
gmdate("D, d M Y H:i:s",
time() + $offset) . " GMT";
header($ExpStr);
?'>'

2) Creamos el archivo compresor de JS:

gzip-js.php

'<'?php ob_start ("ob_gzhandlerJS"); header("Content-type: application/x-javascript; charset: UTF-8"); header("Cache-Control: must-revalidate"); $offset = 60 * 60 ; $ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; header($ExpStr); ?'>'

3) Creamos el .htaccess:

.haccess

AddHandler application/x-httpd-php .js
php_value auto_prepend_file ../lib/gzip-js.php
AddHandler application/x-httpd-php .css
php_value auto_prepend_file ../lib/gzip-css.php

Notas:
  • @ '../lib/' es la ruta del archivo que llamamos.
  • @ Este archivo debe estar en el mismo directorio que los archivos CSS y JS.

Descargar Ejemplo



Referencias:
The Definitive Post on Gzipping your CSS
How to implement GZIP using PHP

Saturday, October 13, 2007

Errores cuando empezamos con Zend Framework

Les dejo las soluciones a los tres problemas más recurrentes cuando empezamos a trabajar con esta librería:

500 Internal Server Error

Deben descomentariar (o agregar) la línea del archivo httpd.conf de Apache:

#LoadModule rewrite_module modules/mod_rewrite.so
(quiten el #)


Fatal error: Uncaught exception
'Zend_Db_Adapter_Exception' with
message 'The PDO extension is
required for this adapter but the

extension is not loaded' in...

Deben descomentariar (o agregar) la línea del archivo php.ini:

;extension=php_pdo.dll
(quiten la ;)

Fatal error: Uncaught exception
'Zend_Db_Adapter_Exception' with
message 'The mysql driver is not
currently installed' in

Deben descomentariar o agregar (tuve que hacerlo) la
línea del archivo php.ini:

;extension=php_pdo_mysql.dll


IMPORTANTE: No olvidar reiniciar Apache luego de hacer estos cambios.


Espero les sirva de ayuda...

Monday, October 08, 2007

Zend Framework: Primeros Pasos

Este es un mini proyecto web basado en zend framework. La idea es que puedan acercarse más al desarrollo MVC, que debiera ser el patrón de diseño a utilizar ahora.

Yo estoy recién iniciándome en esto pero, quiero compartir lo que hice para que a otros no les cueste tanto entenderlo.

Por ahora sólo subiré el archivo y luego lo explicaré más detalladamente, aunque es un ejemplo más detallado de:

http://akrabat.com/zend-framework-tutorial/

Bueno,
Los requisitos para entender este archivo:

  1. Conocimientos en php
  2. Nociones de MVC ref1 ref2
  3. Paciencia
  4. Detallista en la observación
Les recomiendo, que analicen cada código de cada link y entenderlo bien antes de pasar al otro. Se les hará más fácil progresivamente.

Por ejemplo: (Esto es un extracto de lo primero que verías)


Entras a App, y con un editor php debieras abrir:

(Estamos dentro de \myfirstzend [ej: c:\appserv\www\myfirstzend])

  • index.php (El corazón de tu sitio)
  • application\controllers\AppController.php (El controlador)
  • application\views\scripts\app\index.phtml (La vista)
Fíjate en la extensión phtml, así zend maneja las vistas.

Te encargas de entender bien el código y pasas al otro link.

Más links de ayuda:

Si tienen más links aporten, porque documentación en español es la que falta!!!!

Descargar Archivo

Si tienen problemas vean esto:
http://porquero.blogspot.com/2007/10/errores-cuando-empezamos-con-zend.html