¿Conoces la clase "DateTime"?

Es muy dificil conocer todas las funcionalidades que nos puede ofrecer un lenguaje, ya que leer el manual con el listado de funciones de arriba a abajo es tan divertido como leer la guía telefónica. Generalmente cuando tenemos un problema para resolver vamos a buscar en la sección correspondiente, según el tema, y listo (arrays, matemáticas, strings, etc). Lo importante muchas veces es, no solo saber de memoria, sino, saber donde buscar (o como dice el viejo dicho, "lo más importante es tener el teléfono de quién sabe", aunque esto lo único que hace es que evitemos aprender a valernos por nosotros mismos ;-)).

Siempre creí que la evolución natural de PHP debería ser juntar todas las funciones "sueltas" del lenguaje en formato "estructurado" y agruparlas en clases "base" como tiene cualquier lenguaje 100% Orientado a Objetos (tienen clases como String, Integer, etc, y si usamos un IDE veremos fácilmente toda la lista de métodos disponibles que se aplican a ese contexto concreto).

Nota al margen: hace unos años hicimos un experimento educativo y varios de mis alumnos de mi primer taller piloto a distancia hicieron un pequeño proyecto final que consistía desarrollar clases de tipo "wrapper" que cumplieran este objetivo (siguiendo el API de Java).

Espero que algún día PHP6 o 7 incorpore por defecto este tipo de organización que nos beneficiará a todos los desarrolladores.

De paso les comento que a veces, en raras ocasiones, podemos descubrir en el manual clases que vienen por defecto en PHP, por ejemplo, DateTime:

date_default_timezone_set('America/Argentina/Buenos_Aires');

$date = new DateTime("2009-02-28");
$date->modify("+1 day");
echo $date->format("Y-m-d");

$date = new DateTime("2009-01-01");
$date->modify("-1 day");
echo $date->format("Y-m-d");

// Salida:
//
// 2009-03-01
// 2008-12-31

Y Netbeans detecta todos sus elementos en la ayuda contextual:


Más información (obviamente): Manual Oficial de PHP

PD: y nunca te olvides de conocer las Standard PHP Library (SPL)

¡Próximo lunes, cursos intensivos de 1 mes! (Zend ó POO)

Dada la insistencia de varios alumnos para cursar de forma urgente los cursos de Zend y de POO antes de terminar este año, se abre un período excepcional:

Para quienes estén urgidos de hacer estos cursos, el próximo lunes se abrirán dos grupos reducidos (casi personalizados) para cada uno de los cursos.

Curso intensivo de 1 mes (los dos meses en uno), en el cual tendrán que trabajar más intensamente y dedicarle más horas diarias.

Costo: USD 150 por todo el curso (cursas POO ó Zend).

Nota al margen: Los cursos los empecé a realizar buscando que sean económicos para todo el mundo, por lo tanto, para poder bajar un curso típico de USD 250 dólares a 50 fue que empecé a hacer grupos de 10 a 20 personas. Actualmente ya no da el tiempo para iniciar otro grupo de 2 meses porque nos vamos muy arriba de las fechas de fin de año, lo cual complica la continuidad de los alumnos. Para poder dedicarle a un grupo muy reducido de personas, de forma intensiva durante un período muy breve, el costo del curso se eleva.

Les informo que estos cursos son excepcionales y solo para quienes verdaderamente los necesitan de forma "urgente", de lo contrario, solo tendrán que esperar hasta principios de febrero del año que viene (fecha de nuevo inicio de cursos) y hacerlo en el plazo habitual (2 meses) a un costo promedio de USD 50.

Para hacer la compra deben ingresar a usuarios.surforce.com e ingresar a la sección "Comprar"

Cualquier duda estoy a sus órdenes ;-)

Evento: PHP Mini Meeting (Argentina)



Más información: php-mini-meeting

PD: es este próximo sábado, voy a intentar ir aunque sea un rato (últimamente estoy durmiendo tan poco que no sé si llego despierto como para dar una charla prolija, así que es probable que en esta oportunidad solo haga más que "acto de presencia" y apoye en lo que pueda).

Así que si quieren charlar de PHP5, POO, UML, Zend Framework, etc, bienvenidos, hay tema para rato ;-)

Entradas populares