Clase datetime php

jose | 26 Noviembre, 2009

Lenguaje de programación PHP

En PHP5 aparecen algunas clases que pueden facilitarnos mucho la vida a la hora de desarrollar, una de ellas es la clase Datetime.

Pasemos a la acción, que es lo que nos interesa, vamos a realizar un ejemplo muy simple, incrementar en un año la fecha actual:

PHP:
  1. <?php
  2. // primero configuramos la zona horaria para España
  3. date_default_timezone_set('Europe/Madrid');
  4.  
  5. // ahora creamos un objeto "datetime"
  6. $datetime->new DateTime();
  7.  
  8. // imprimimos la fecha actual formateada
  9. echo $datetime->format('d-m-Y').' (fecha actual)
  10. ';
  11.  
  12. // incrementamos la fecha actual en un año y la imprimimos
  13. $datetime->modify('+1 year');
  14. echo $datetime->format('d-m-Y').' (+1 año)';
  15. ?>

También podemos, a la hora de crear el objeto, pasarle una fecha concreta por ejemplo:

PHP:
  1. <?php
  2. // primero configuramos la zona horaria para España
  3. date_default_timezone_set('Europe/Madrid');
  4.  
  5. // ahora creamos un objeto "datetime" que se inicia con la fecha '12-09-2008':
  6. $datetime->new DateTime('2008-09-12');
  7.  
  8. // imprimimos la fecha actual formateada
  9. echo $datetime->format('d-m-Y').' (fecha actual)
  10. ';
  11.  
  12. // incrementamos la fecha actual en un año y la imprimimos
  13. $datetime->modify('+1 year');
  14. echo $datetime->format('d-m-Y').' (+1 año)
  15. ';
  16. ?>

Si necesitas más información sobre la clase datetime, siempre puedes leer el manual de php.

Nota: Todos estos ejemplos están probados bajo PHP 5.2.

Adiós a Internet Explorer 6

jose | 19 Octubre, 2009

noie6

Estamos a 19 de Octubre del 2009 y en Wynfor hemos considerado más que oportuno dejar de dar soporte, en todo lo relativo al tema de diseño, al famosísimo y anticuado Internet Explorer 6.

La solución que hemos propuesto es la recomendada por Andrés Nieto, consiste en dejar  a Internet Explorer 6 sin hojas de estilos, es una medida menos restrictiva que bloquear el acceso total a IE6.

El código es el siguiente:

1) Detectar si el navegador es IE6:

Para ello utilizaremos esta sencilla función:

function isIE6() {
return strstr( $_SERVER['HTTP_USER_AGENT'],"MSIE 6" ) !== false;
}

2) Condicionar qué hoja de estilo debemos cagar:

Si es Internet Explorer 6 cargaremos una simple hoja de estilo que dará formato únicamente al mensaje de advertencia que se le mostrará al usuario para que actualice su navegador.
if ( isIE6() )
echo '<link rel="stylesheet" type="text/css" href="css/ie6.css" media="screen" />';
else
echo  '<link rel="stylesheet" type="text/css" href="css/master.css" media="screen" />';

El contenido de la hoja de estilo específica para IE6 es el siguiente:

#ie6 {
background-color: #ffe5e5;
border: 1px solid #b00;
color: #300;
font-size: 16px;
font-weight: bold;
padding: 20px 60px;
margin-bottom: 50px;
}

En nuestro ejemplo hemos llamado a esta hoja de estilo ie6.css y su ubicación está en una carpeta llamada css.

3) Mostramos el mensaje al principio de todas nuestras página con los famosos comentarios condicionales de IE:

Nuestro mensaje es el siguiente aunque esto es totalmente modificable, si te das cuenta apoyamos el uso de navegadores como Fiefox, Opera...

<!--[if IE 6]>
La versión de Internet Explorer que estás utilizando no es recomendada para navegar en Internet.<br />
Te recomendamos que pruebes otros navegadores gratuitos como <a href="http://www.mozilla.com" title="Firefox web browser">Firefox</a>, <a href="http://www.opera.com/" title="Opera Browser">Opera</a>, <a href="http://www.apple.com/safari/" title="Apple Safari">Safari</a> o <a href="http://www.google.com/chrome" title="Google Chrome">Chrome</a>.<br />
O bien puedes actualizar a una <a href="http://www.microsoft.com/windows/products/winfamily/ie/default.mspx">versión más reciente</a> de Internet Explorer.
</p><![endif]-->

Bueno con esto aportamos nuestro granito de arena a la iniciativa de Andrés Nieto
, a ver si entre todos conseguimos concienciar a los usuarios para que abandonen IE6.

Un saludo desde Wynfor y gracias por leernos ;)

hola mundo php cli

jose | 19 Agosto, 2009

php-cli

Una de las posibilidades de PHP, aunque quizás menos conocida, es el de ser ejecutado desde el intérprete de comandos.

Así que vamos a crear nuestro famoso holamundo en una máquina con ubuntu:

Antes de nada es necesario tener instalado PHP en vuestra máquina, cosa que damos por supuesta, de todas formas si teneis un servidor web con php como módulo de Apache ya lo teneis instalado.

El paquete extra que nos va a hacer falta es php5-cli, pues lo instalamos:

sudo aptitude install php5-cli

Ahora ya podemos crear nuestro programita para hacer un hola mundo, entonces creamos por ejemplo un fichero de texto en el escritorio llamado hola_mundo.php (o la extensión que queramos) y pegamos el siguiente código en él:

#!/usr/bin/php

<?php

echo 'Hola mundo';

?>

Con la primera línea lo que hacemos es indicar la ubicación del parseador de PHP, luego viene el código normal de php, asi que guardamos el fichero y le damos permisos de ejecución a nuestro programita:

chmod +x hola_mundo.php

Y ahora viene lo bueno lo ejecutamos como cualquier otro programa de la línea de comandos:

./hola_mundo.php

Hemos de poner el "punto"  y la "barra" delante porque el sistema no conoce el path donde se encuentra el programa.

Este programa debe generarnos la salida "Hola mundo" en la consola de nuestro sistema.

Bien y ahora te estarás preguntando qué ventajas y utilidades tiene esto ¿verdad?, pues muchísimas por ejemplo no tener que aprender otro lenguaje de programación para generar tus programitas de consola, que es multiplataforma y quizás la más importante de todas es la estupenda combinación con el daemon crontab de ubuntu.

Por ejemplo si queremos consultar una base de datos con un listado de cliente que les mande nuestro Newsletter (boletín informativo), pero que se ejecute únicamente los domingos a las 5 de la mañana, pues en este caso sería una combinación ideal de php-cli + crontab.

Y bueno la configuración del crontab la dejaremos para otro día que es algo muy útil, interesante y fácil de implementar.

Un saludo desde Wynfor.

Microsoft Office 2010 en la web y gratis

Juanjo | 14 Julio, 2009

microsoft-office

En un movimiento esperado e inevitable, Microsoft ha anunciado que la siguiente versión de Office incluirá las versiones basadas en web de Word, Excel, Powerpoint, y OneNote.

Para no ser confundido con Microsoft Live Office Workspaces, que permite a los usuarios de la suite de escritorio Office colaborar online, Office Web Apps serán versiones ligeras de los productos pero completas, que permitirán a los usuarios crear, editar, guardar y compartir documentos en la web.

Y, como su competidor obvio Google Docs, Office Web Apps estará disponible gratuitamente, o al menos eso aseguran desde Microsoft. Al igual que Google Docs requiere una cuenta de usuario de Google para usar estas aplicaciones parece que la única exigencia para usar Office Web Apps será disponer de una cuenta Microsoft Windows Live, además de otras dos opciones:

"Office Web Apps estará disponible de tres maneras: a través de Windows Live, donde mas de 400 millones de consumidores tendrán acceso al uso de Office Web Apps totalmente gratis, de forma local para todas las licencias de Office incluyendo mas de 90 millones de licencias de Office anuales y via Microsoft en linea, donde los clientes podrán adquirir una suscripción al producto."

Desde Microsoft aseguran que la nueva versión de Office y su versión acompañante online no estarán disponibles hasta la primera mitad del año que viene. Por ahora, la compañia ha lanzado un web del producto y una serie de videos introductorios:

http://www.microsoft.com/video/en/us/details/ebf079e6-6972-43dc-9781-14c013c38e82

Parece que Microsoft se pone las pilas, y empieza a ver la importancia de las redes, primero con su buscador Bing y ahora con una versión online de su paquete ofimático, rivalizando directamente con Google Docs.

NoSQL, Los “No” Sistemas de Bases de Datos Relacionales

Juanjo | 13 Julio, 2009

nosqlEl futuro sera sin SQL. Esa es la idea de esta iniciativa que nace por parte de un grupo de desarrolladores que comparten la idea de destronar a SQL como el rey de las bases de datos relacionales por una alternativa mas eficiente y barata de manipular datos.

La reunion del grupo el pasado 13 de Junio fue la inauguración de esta comunidad de código abierto, entre los que se encontraban desarrolladores de last.fm o digg.

Son muchos los proyectos que ya funcionan bajo estas premisas y que grandes empresas como Amazon, Google o Last.fm ya utilizan en sus sitios, nombres como Hadoop, Dynomite o Voldemort son algunos de estos proyectos que comparten la filosofia de NoSQL. Entre los puntos en comun de estos sistemas, destacan:

No llamar a estos sistemas "bases de datos", Amazon llama a su sistema Dynamo como "almacenamiento clave-valor de alta disponibilidad", Google llama a su BigTable "sistema de almacenamiento distribuido para gestionar datos estructurales".

Pueden manejar enormes cantidades de datos. Hypertable, una implementación de código abierto basada en BigTable, se usa dentro del motor de busqueda Zvents para escribir 1000 millones de celdas de datos por dias. A su vez, BigTable, procesa hasta 20 petabytes de datos por dia.

Seguir leyendo NoSQL, Los “No” Sistemas de Bases de Datos Relacionales...

HTML 5 gana la batalla al XHTML 2

Juanjo | 4 Julio, 2009

html5-xhtml2

La lucha entre estos dos estándares ya está resuelta, la W3C canceló el pasado día 2 de Julio el desarrollo futuro del estándar XHTML2, por lo que HTML5 se convierte en el futuro estándar que soportaran todos los navegadores (algunos mas rápidos que otros).

El grupo de trabajo dedicado actualmente al XHTML 2 seguirá con sus actividades hasta finales de año, incorporandose después al equipo de desarrollo de HTML5. La W3C espera asi acelerar su progreso y aclarar que apunta al HTML5 como el futuro de la web.

El HTML5 estaba siendo desarrollado por la comunidad WHATWG, fundada por Mozilla Fundation, Opera Software y Apple, (Microsoft fue invitado pero no se unió, aunque esta integrando el soporte para HTML5 en su nuevo navegador IE8). Segun un post de Ian Hickson de WHATWG, comenta que la creación de un grupo de trabajo en HTML5 es una buena noticia que confirma el trabajo que ellos llevan realizando desde el 2004, que el W3C no ha contactado con ellos en ningún momento desde la creación del nuevo grupo y recuerda que el objetivo del W3C es “perseguir activamente la convergencia con WHATWG”, por lo que espera que en breve se pongan en contacto con ellos. Esperemos que así sea.

Ya hablamos de las mejoras que nos trae este futuro estándar el otro día en "La evolucion de la web: HTML5", y ya se empiezan a ver los primeros desarrollos que demuestran su potencia, como la web en fase beta de YouTube (http://www.youtube.com/html5), la de DailyMotion (http://openvideo.dailymotion.com/es) o en la misma web del WHATWG en la sección DEMOS (http://www.whatwg.org/demos/company-home/).

El futuro es ya HTML 5 así que, a que esperas para ponerte al día?
http://www.w3.org/TR/2009/WD-html5-20090212/

Este blog funciona gracias a WordPress con el theme GimpStyle modificado por Wynfor | Soluciones Tecnológicas.
Entradas y Comentarios feeds. XHTML y CSS válidos.