Firefox 3.5 version final

Ya puedes descargar la ultima version de Firefox 3.5, es 2 veces mas rapido que Firefox 3, y 10 veces mas rapido que Firefox 2.
Las aplicaciones web como Gmail, Yahoo, Flickr y otras redes sociales seran mucho mas rapidas y tendran un mejor rendimiento.

Entre las mejores caracteristicas tenemos en cuenta:

  • Navegacion privada que no registrada ninguna accion.
  • Barra de direcciones inteligente mejorada.
  • Etiquetas mejoradas.
  • Tiene soporte para HTML5 y CSS3.
  • Tiene soporte para JSON Nativo.
  • Location Aware Browsing, permite a Firefox utilizar nuestra ubicacion.

Video sobre las nuevas caracteristicas:

[SWF]http://www.youtube.com/watch?v=k5Zbc-Rg6e8,540,400[/SWF]

Recursos

Yoono: conectate a todas tus redes sociales

Yoono es una extensión para Internet Explorer y Firefox que nos permite conectarnos a muchas redes sociales desde si sidebar.

Los servicios que actualmente soporta son:

  • Facebook
  • MySpace
  • Twitter
  • Flickr
  • FriendFeed
  • Imeem
  • AIM
  • Google Talk
  • Windows Live Messenger
  • Yahoo! Messenger

Entre sus principales características destacan:
Conectarse con muchas redes sociales y actualizar tus estados y poder chater con tus amigos.
Mediante el Widget puedes revisar los mejores sitios, videos, imágenes destacadazos.
Puedes compartir información como imágenes, links, videos en tiempo real.

Recursos

XAMPP: Instalar Apache, PHP y MySQL

Muchas personas saben por su propia experiencia que no es fácil instalar un servidor web Apache,
y se hace más difícil si desea añadir MySQL, PHP y Perl.
XAMPP es un paquete fácil de instalar la distribución Apache que contiene MySQL, PHP y Perl.
Mediante este link pueden ver que tan fácil es la instalacion.
Instalación con instalador
Y si no quieren instalarlo, pues tienen un paquete que solo necesita descomprimirse.
Instalación sin instalador

XAMPP 1.7.1 es la versión reciente y estas son sus principales características:

  • Apache HTTPD 2.2.11 + OpenSSL 0.9.8i
  • MySQL 5.1.33
  • PHP 5.2.9
  • PhpMyAdmin 3.1.3.1
  • XAMPP paquete CLI 1.3
  • Servidor FTP FileZilla 0.9.31
  • Sistema de transporte de correo Mercury 4.62

Hay varias distribuciones de XAMPP:
XAMPP para Windows
La distribución para Windows 98, NT, 2000, 2003, XP y Vista.
Esta versión contiene: Apache, MySQL, PHP + PEAR, Perl, mod_php, mod_perl, mod_ssl, OpenSSL, phpMyAdmin, Webalizer, Mercury Mail Transport System para Win32 y NetWare Systems v3.32, JpGraph, FileZilla FTP Server, mcrypt, eAccelerator, SQLite, y WEB-DAV + mod_auth_mysql.
XAMPP para Mac OS X
La distribución para Mac OS X contiene:
Apache, MySQL, PHP & PEAR, SQLite, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, zlib, Ming, Webalizer, mod_perl, eAccelerator, phpSQLiteAdmin.
XAMPP para Linux
La distribución para sistemas Linux (probados para SuSE, RedHat, Mandrake y Debian) contiene:
Apache, MySQL, PHP & PEAR, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, gdbm, zlib, expat, Sablotron, libxml, Ming, Webalizer, pdf class, ncurses, mod_perl, FreeTDS, gettext, mcrypt, mhash, eAccelerator, SQLite e IMAP C-Client.
XAMPP es libre, con licencia GNU General Public License y lo puedes decargar en Apache Friends

Introduccion a Zend Framework

p>Zend Framework o mas conocido como ZF es un Framework Open Source que sirve para desarrollar proyectos, aplicaciones y servicios web con PHP 5 y tiene buen rendimiento en aplicaciones MVC.
ZF esta desarrollado 100% Orientado a Objetos aprovechando al máximo la potencia de PHP5.

La arquitectura de este Framework se basa en componentes los cuales fueron diseñados con tanta flexibilidad que nos permite a los desarrolladores usar los componentes individualmente (use-at-will).

ZF posee muchos componentes y al descargarlos es recomendable descartar los que no vamos a usar en nuestro proyecto.
El principal patrocinador de ZF es Zend Technologies quien además difunde el estandar oficial para PHP, es como Sun para Java.

Para entender mas de la arquitectura MVC pueden leer este POST detallado.
MVC en PHP.

Requerimientos

Necesita PHP 5.2.4+, puede ejecutarse en cualquier plataforma(Linux, Macintosh, Windows), pero si queremos instalar la ultima versión de Apache, PHP y MySQL podemos instalar el entorno XAMPP que es multiplataforma y muy sencilla la configuración.

Luego necesitamos editar el http.conf y activar el mod_rewrite(Mas información).

LoadModule rewrite_module modules/mod_rewrite.so

Zend Framework trabaja con conexiones PDO que son mas seguras que los drivers de MySQL, así que necesitaremos editar el PHP.ini y activar estas extensiones que sirve para la conexion a la BD.

extension=php_pdo.dll
extension=php_pdo_mysql.dll

Para información detallada de requerimientos avanzados Zend Framework Appendix.

Instalación

La instalación es simple, primero elija la versión estable mas reciente de Zend Framework(en este caso es la 1.8) Zend Framework Downloads.

Luego elija el paquete preferido:

Full Pack es el paquete con los demos, test, Dojo Toolkit y mas.
Min Pack es el paquete con todo lo necesario para crear un proyecto.

Despues elijes que formato de compresion es la adecuada para usted(.zip, .rar, .tar.gz). Al momento de descargarlo y descromprimirlo encontraremos una carpeta llamada “library” la cual usaremos en nuestros Proyectos.

Nota: La carpeta /library guardara las funciones clases y demas librerías para nuestro proyecto, dentro de la carpeta Zend no se debera poner ni modificar nada ya que de ser actualizado a una nueva versión de Framework perderán su compatibilidad o eliminaran los cambios que han echo.

Estructura del Proyecto

Para comenzar con Zend Framework desarrollaremos una arquitectura simple con una carpeta “app”, “html” y “lib” las cuales explicare a continuación:

app: Esta carpeta contendrá toda la lógica de negocios del proyecto, controladores, acciones, vistas, helpers, archivos de configuración.

html: Aquí alojaremos un archivo index.php el cual interpretara las peticiones del usuario consultando los controladores y devolviendo las vistas correspondientes, de esta manera se manejara toda la web desde un solo punto.
Esta carpeta también sirve como deposito de archivos javascript, hojas de estilo, imagenes, etc que dependan de la web.

lib: Esta carpeta sirve como capa de abstracción de datos, acceso a base de datos y para alojar el Zend Framework.

Esta es una estructura básica de aplicación utilizando Zend Framework.

MyProyect/
	app/
	  controllers/
	    IndexController.php
	  views/
	    scripts/
		  index/
		    index.phtml
	html/
	  index.php
	  .htaccess
	lib/
	  Zend/

Ahora comenzamos creando el archivo .htaccess, este archivo contiene una serie de directivas para el servidor. Esta vez lo usaremos para poner el mod_rewrite mediante este archivo, establecemos una regla de cuales archivos tiene que leer directamente y sino reflejarla mediante el index.php.

RewriteEngine on
RewriteRule !.(js|ico|txt|gif|jpg|png|css)$ index.php

Comenzaremos explicando IndexController.php, se llama así porque debemos respetar una nomenclatura dictada por la compañía Zend y de esta forma estandarizar nuestros proyectos y archivos.
Zend Framework Coding Standard.

IndexController.php (controlador)

class IndexController extends Zend_Controller_Action
{
    public function indexAction()
    {
        $this->view->bienvenido = 'Zend Framework MVC!';
    }
}

Este sera el archivo de la vista donde pintaremos la variable bienvenido que pasa del Controller al View.

index.phtml (vista)

<body>
  <?php echo $this->bienvenido; ?>
</body>

Para finalizar y que todo funcione correctamente hay que modificar el archivo index.php que esta en la carpeta html, ya que siempre se hara las peticiones a ese archivo el cual se encargara de elejir el controlador y la vista correspondiente.

index.php (core)

error_reporting(E_ALL);
$rootPath = dirname(dirname(__FILE__));
set_include_path(get_include_path() . PATH_SEPARATOR .
$rootPath . '/lib' . PATH_SEPARATOR);
/** Incluimos Zend_Controller_Front */
require_once 'Zend/Controller/Front.php';
Zend_Controller_Front::run($rootPath . '/app/controllers');

Primero habilitamos los errores para el modo desarrollo, luego llamamos al metodo run que ejecutara la acción correspondiente.

Hasta aquí tenemos un concepto y un ejemplo practico de como trabaja ZendFramework, estare preparando algunos tutoriales productivos para desarrollo con este Framework.
Alguna sugerencia o duda con gusto respondere.

Les dejo un link a los Screencasts que son muy buenos para comenzar con ZendFramework.

Ver Screencasts

Facebook Connect para WordPress

Facebook tiene un API el cual nos brinda la posibilidad de conectarse mediante su cuenta Facebook a nuestro blog, y poder loguearse, comentar, tener un gravatar, y características especiales que podemos brindar a usuarios registrados.

¿Cómo se realiza?

WP-FacebookConnect es un plugin para WordPress, el cual nos brinda las funciones para poder hacer el logueo y el registro mediante sus datos de Facebook y pasarlos a nuestro blog.

¿Cómo funciona?

Para poder usar esta funcionalidad tenemos que tener una cuenta Facebook y haber activado el acceso de Desarrollador, la pueden activar en Facebook Developers.

Para conseguir el “API Key” y el “Application Secret” que son necesarios para usar WP-FacebookConnect, despues de haber activado tu acceso, tienes que crear una aplicación y la obtendrás.

Configurando nuestro WP-FacebookConnect

Simplemente colocas tu “API Key” y el “Application Secret” en las secciones correspondientes.

Modificar el Formulario de Comentarios

Dentro del archivos de comentarios, agregaremos una función para que pueda aparecer el botón de facebook para loguearnos.

<?php if ( $user_ID ): ?>
    ...
<?php else : ?>
    <?php do_action('fbc_display_login_button')  ?>
    ...
<?php endif; ?>

En el código vemos que hay un if preguntando por una variable ($user_ID), nos confirmara si el usuario esta logueado, sino mostrara el botón FacebookConnect.

Esto es todo lo que debemos hacer, del resto se encarga el plugin y WordPress.
Alguna sugerencia o comentario gustoso respondere.

Crear Virtual Host en Apache

Configurar un Virtual Host en un Servidor Web Apache no es exactamente un tema de PHP, pero los desarrolladores que trabajamos con este lenguaje, lo necesitamos.
Si has instalado un entorno XAMPP esta seria la ruta para encontrar el archivo httpd.conf que deberemos configurar para poder crear un Virtual Host.

C:wampbinapacheapache2.2.8conf

A veces por defecto la siguiente línea de código viene comentada, el primer paso si se da el caso, seria descomentarla

#Include conf/extra/httpd-vhosts.conf

Ahora no vamos al final del archivo para hay crear los Virtual Host, primero añadiremos este código que describe la estructura de directorios que se esta usando.

<Directory "C: My Sites ">
  Order Deny,Allow
  Allow from all
</Directory>

Ahora crearemos los Virtual Host y para esto debemos saber la ruta de nuestros proyectos como por ejemplo:

c:My SitesMyFirstProject
c:My SitesProjectTwo

Cuando se crea más de un Virtual Host el siguiente script debe ser necesario:

NameVirtualHost 127.0.0.1

Luego vendrán los tags para el Virtual Host:

<VirtualHost 127.0.0.1>
   DocumentRoot "C:My SitesMyFirstProject"
   ServerName site1.local
</VirtualHost>
<VirtualHost 127.0.0.1>
   DocumentRoot "C:My SitesProjectTwo"
   ServerName site2.local
</VirtualHost>

Esto es todo, solo falta reiniciar el servidor Apache y ya tenemos nuestro dominio local.
Si hay alguna duda pueden comentarla.

PHPAnyWhere: Editor PHP OnLine

PHPanywhere es un IDE online para PHP gratuito, esta herramienta nos permite fácilmente conectarnos a nuestro servidor ftp y trabajar directamente con los archivos, así podremos modificar, crear, eliminar archivos y código desde cualquier parte del mundo y sin tener instalado un servidor Apache con PHP y MySQL ni un IDE para PHP.

Entre sus características estan destacan mas:

  • Resaltado de sintaxis
  • Indentación inteligente para cada idioma
  • Código plegable
  • Pestañas ilimitadas
  • Potente explorador de FTP
  • Puedes añadir varios Servidores
  • Modificar permisos de carpetas
  • Funciona con el puerto FTP bloqueado

PHPanywhere tiene soporte en Safari, Firefox, Opera 9, Internet Explorer 6.7 + y en cualquier sistema operativo.