Archive: Agosto, 2009

Lanzar una excepción desde __autoload() de PHP

La función __autoload es una de las mas útiles en PHP5 (aunque su desempeño es muchas veces cuestionado, ese no es el tema de esta entrada), nos permite definir un método para declarar nuestras clases, es decir, ya no tendremos que tener todos esos include y require, y el sistema automáticamente, al detectar que alguna clase no existe, disparara esta función (En la cual obviamente debemos realizar el include o require), todo bien hasta aqui, sin embargo esta función tiene una pequeña desventaja, no puede lanzar excepciones.




Afortunadamente existen algunas maneras de “cubrir” esta característica, el método más común (y el que yo uso) consiste en crear la clase que está buscando el autoload y después lanzamos la excepción desde esa clase, para esto haremos uso de la función eval y de __callstatic(Para cubrir llamados a métodos estáticos sin instanciar nada), aquí les un pequeño ejemplo:

function __autoload($class_name)
{
    if(file_exist($class_name.'.php'))
    {
        include $class_name.'.php';
    }
    else
    {
        eval("
            class $class_name
            {
                function __construct()
                {
                    throw new Exception('La clase $class_name no existe', 1001);
                }
                static function __callstatic(\$m, \$args)
                {
                    throw new Exception('La clase $class_name no existe', 1001);
                }
            }
        ");
    }
    return;
}

Espero sea útil… saludos…

Compartelo:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Linkter
  • Live
  • MySpace
  • Netvibes
  • Reddit
  • Technorati
  • Bitacoras.com
  • email
  • LinkedIn
  • Meneame
  • Print
  • Socialogs
  • SphereIt
  • StumbleUpon
  • FriendFeed
  • RSS
  • Yahoo! Bookmarks
  • Twitter
  • Add to favorites
  • PDF

jCart: Comercio electrónico en Ajax, PHP y jQuery




jCart es un pequeño script e-commerce hecho con PHP y jQuery.

Nos brinda la funcionalidad básica de una tienda en línea incluyendo el carrito de compras, utiliza jQuery para darle una funcionalidad más dinámica por medio de Ajax aunque es completamente funcional con javascript deshabilitado.

free-php-ajax-shop-cart

Muy sencillo de adaptar a tu sitio, un recurso bastante útil…

Sitio oficial…

Compartelo:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Linkter
  • Live
  • MySpace
  • Netvibes
  • Reddit
  • Technorati
  • Bitacoras.com
  • email
  • LinkedIn
  • Meneame
  • Print
  • Socialogs
  • SphereIt
  • StumbleUpon
  • FriendFeed
  • RSS
  • Yahoo! Bookmarks
  • Twitter
  • Add to favorites
  • PDF

Webcomics para programadores…




Excelente recopilación de webcomics para programadores…  buenísima… les dejo el link al articulo…

sandwich

Compartelo:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Linkter
  • Live
  • MySpace
  • Netvibes
  • Reddit
  • Technorati
  • Bitacoras.com
  • email
  • LinkedIn
  • Meneame
  • Print
  • Socialogs
  • SphereIt
  • StumbleUpon
  • FriendFeed
  • RSS
  • Yahoo! Bookmarks
  • Twitter
  • Add to favorites
  • PDF

Web Uptime Monitor Script: phpWatch

A medida en que avanzamos en esto del desarrollo web, aumenta la necesidad de monitorear nuestras paginas, es un hecho que cualquier compañia de hosting algunas veces falla y esto es hasta cierto punto normal, siempre y cuando se encuentre dentro de que contratamos.

Existen algunos servicios web que nos permmiten hacer esto pero aqui les presento un script para que ustedes puedan controlar su propio sistema de monitoreo, phpWatch es gratuito y nos permite monitorear cualquier cantidad de sitios web, ademas contar con un sistema de notificaciones SMS y correo electronico…

free-php-uptime-monitor

Cuenta con una interfaz muy sencilla y trabaja en base a un script que tenemos que configurar en CRON(Linux) o en el administrador de tareas(Windows), tambien menciona que provee una pequeña API para que otras aplicaciones se puedan conectar y usar la información…

Pagina oficial…

Compartelo:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Linkter
  • Live
  • MySpace
  • Netvibes
  • Reddit
  • Technorati
  • Bitacoras.com
  • email
  • LinkedIn
  • Meneame
  • Print
  • Socialogs
  • SphereIt
  • StumbleUpon
  • FriendFeed
  • RSS
  • Yahoo! Bookmarks
  • Twitter
  • Add to favorites
  • PDF

ZenTextures: Texturas gratuitas…

ZenTextures es una galeria de texturas gratuitas, sin duda un excelente recurso para diseñadores.

free-textures 

Tiene mas de 400 texturas las cuales pueden usar en proyectos personales o comerciales, sin embargo la navegación no es muy buena, de cualquier forma es muy buen recurso y vale la pena tenerlo por ahi…

Visitar el sitio…

Compartelo:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Linkter
  • Live
  • MySpace
  • Netvibes
  • Reddit
  • Technorati
  • Bitacoras.com
  • email
  • LinkedIn
  • Meneame
  • Print
  • Socialogs
  • SphereIt
  • StumbleUpon
  • FriendFeed
  • RSS
  • Yahoo! Bookmarks
  • Twitter
  • Add to favorites
  • PDF

Un CMS para pequeñas web: GetSimple

GetSimple es una aplicación CMS open source, cuya principal característica es que utiliza sus bases de datos en XML, esto la hace ideal para pequeñas web debido a que no es necesario tener instalado un servidor de bases de datos. La interfaz es muy sencilla y amigable y cuenta con algunas características interesantes como su backup/restore.

getsimple-cms

Tiene una documentación bastante aceptable donde pueden encontrar como crear formas de contactos o como cambiar la imagen de su sitio.

La verdad es un modelo muy interesante aunque sería interesante ver que es lo que se considera como una “pequeña web”, cuales son los limites y hasta donde podríamos llegar con este script y si podemos exportar la información de nuestra web para usarla con algún otro CMS más potente, aun no he probado este script a fondo pero parecer valer la pena…

Sitio oficial…

Compartelo:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Linkter
  • Live
  • MySpace
  • Netvibes
  • Reddit
  • Technorati
  • Bitacoras.com
  • email
  • LinkedIn
  • Meneame
  • Print
  • Socialogs
  • SphereIt
  • StumbleUpon
  • FriendFeed
  • RSS
  • Yahoo! Bookmarks
  • Twitter
  • Add to favorites
  • PDF

Frameworks de PHP, un acercamiento…

Dentro del desarrollo de aplicaciones existen tareas que se pueden volver muy repetitivas, existen cosas que realizamos en prácticamente todos los proyectos, tareas como permisos de usuarios, manejo de bases de datos, etc., esto ocurre tanto en proyectos de PHP como en cualquier otro lenguaje, y es para tratar de solucionar este problema el que existen los frameworks.

Generalmente los frameworks de PHP nos proveen la base para una aplicación, muchas cosas vienen pre construidas, además, la mayoría de las veces también nos proponen la estructura de archivos y directorios, todo esto nos puede ayudar a desarrollar aplicaciones de una forma mas rápida y solida, en otras palabras, nos permite ahorrar tiempo y reduce de una manera significativa la cantidad de código que se requiere en tareas comunes. La mayoría de los frameworks de PHP utilizan un patrón de diseño llamado MVC (Modelo-Vista-Controlador), este patrón de diseño plantea la idea de separar la lógica de negocios de la interfaz de usuario, permitiendo modificar de manera independiente una de la otra, esto permite que la programación en PHP sea más rápida, sencilla y organizada.

framework_php

Existen muchas razones para usar un framework, pero las principales son acelerar el proceso de desarrollo, evitar rehacer algunas de las tareas más comunes  y poder reutilizar código en varios proyectos, de esta forma los programadores pueden ocupar su tiempo para desarrollar solamente las partes específicas de la aplicación en lugar de estar reconstruyendo las bases para cada proyecto. La estabilidad es otra razón importante para utilizar los frameworks, aunque PHP es un lenguaje de programación muy sencillo, también es muy sencillo que programadores inexpertos escriban código erróneo, y dejen huecos de seguridad que pueden ser susceptibles a ataques.

¿Cuándo debo usar un Framework?

Esta es una pregunta muy común, y desafortunadamente no tiene una respuesta sencilla, para los desarrolladores principiantes, los frameworks ofrecen gran simplicidad y estabilidad, es una buena idea usarlos siempre que sea posible, esto ayudaría a eliminar malas prácticas y acelerar el proceso de desarrollo. Por otro lado, muchos programadores experimentados consideran a los frameworks como una herramienta para programadores débiles, que no saben escribir buen código, sin importar si esto es verdad o no, los frameworks son herramientas que nos permiten ahorrar tiempo y esfuerzo.

Entre los factores a tomar en cuenta a la hora de elegir un framework tenemos: facilidad de uso, rapidez en el desarrollo, popularidad entre otros desarrolladores y soporte/documentación, es recomendable probar con varios frameworks para encontrar el que mejor cumpla con nuestras necesidades, cada framework es diferente, tiene sus fortalezas y debilidades, por ejemplo Zend framework es uno de los más fuertes y con mas características, sin embargo, no es tan sencillo comenzar a usarlo, a diferencia de Codelgniter que aunque no es tan fuerte como Zend es mucho mas fácil de utilizar, algunos de los frameworks mas populares son:

Zend Framework
Es un framework muy popular enfocado en aplicaciones web 2.0, tiene una comunidad bastante grande y es desarrollado por la compañía Zend, la misma que creó el motor de PHP, es un framework muy robusto y potente, sin embargo, su uso requiere bastante conocimiento de PHP.

CakePHP
Es uno de los que más ha crecido en popularidad últimamente, está basado en los mismos principios de Ruby on Rails y está enfocado en agilizar el desarrollo, a diferencia de Zend, este framework es mucho mas fácil de utilizar.

Codelgniter
Codelgniter es conocido por su facilidad de uso, desempeño y velocidad. Ofrece soluciones simples y cuenta con muy buena documentación, esta opción es altamente recomendada para principiantes.

Symfony
Este framework open source fue el más popular hace algún tiempo, está enfocado en desarrolladores avanzados cuyo principal objetivo es crear aplicaciones de nivel empresarial, es un framework muy completo, sin embargo la velocidad de desarrollo es más lenta que la de los demás, muchos desarrolladores lo cambiaron por Zend.

En resumen, los frameworks de PHP son excelentes recursos para desarrolladores de todos los niveles, evitan escribir código repetitivo, aceleran el proceso de desarrollo y mejoran la seguridad de nuestras aplicaciones, aunque si debo decir que en todos se requiere cierto conocimiento de PHP, en cuanto a cual se debe usar, eso ya es decisión de ustedes…

Un saludo…

Compartelo:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Linkter
  • Live
  • MySpace
  • Netvibes
  • Reddit
  • Technorati
  • Bitacoras.com
  • email
  • LinkedIn
  • Meneame
  • Print
  • Socialogs
  • SphereIt
  • StumbleUpon
  • FriendFeed
  • RSS
  • Yahoo! Bookmarks
  • Twitter
  • Add to favorites
  • PDF