Archivo categoría PHP
Con el libro Yii 1.1 Application Development Cookbook se intenta contribuir a fortalecer uno de los puntos más débiles, en mi opinión, de Yii Framework: la documentación.

A través de sus 13 capítulos podremos reforzar conocimientos (aquellos que ya contemos con experiencias anteriores en este framework) o tener una detallada visión del mismo, si es nuestra primera incursión en el mundo Yii:
- Capítulo 1, Under the Hood
- Capítulo 2, Router, Controller, and Views
- Capítulo 3, AJAX and jQuery
- Capítulo 4, Working with Forms
- Capítulo 5, Testing Your Application
- Capítulo 6, Database, Active Record, and Model Tricks
- Capítulo 7, Using Zii Components
- Capítulo 8, Extending Yii (Descarga gratuita de este capítulo)
- Capítulo 9, Error Handling, Debugging, and Logging
- Capítulo 10, Security
- Capítulo 11, Performance Tuning
- Capítulo 12, Using External Code
- Capítulo 13, Deployment
Libro recomendable para ambos tipos de usuarios: iniciados y no iniciados en Yii Framework, más información en su sitio web.
Yii Framework es uno de los tantos frameworks que existe para PHP y, a decir la verdad, es uno de mis favoritos por la rapidez que se puede desarrollar una aplicación en poco tiempo y con pocos conocimientos del mismo.
Éste video viene a ilustrar como hacer un CRUD (Create, Read, Update & Delete) a partir de una tabla:
Para más información visiten el sitio de Yii Framework, su documentación y screencasts.
Desde 1996, en la versión de PHP 2.0b7 se introducen las expresiones regulares que siguen las recomendaciones POSIX (funciones “ereg”). Desde la versión 5.3.0 de Junio del 2009, las mismas se consideran obsoletas y se recomienda el uso de las compatibles con Perl (PCRE).
Los patrones comunes entre POSIX y PCRE son:
| Patrón | Significado |
|---|---|
| c | carácter c |
| . | cualquier carácter |
| ^c | empezar por el carácter c |
| c$ | terminar por el carácter c |
| c+ | 1 o más caracteres c |
| c* | 0 o más caracteres c |
| c? | 0 o 1 caracteres c |
| \n | nueva línea |
| \t | tabulador |
| \ | escape, para escribir delante de caracteres especiales: ^ . [ ] % ( ) | * ? { } \ |
| (cd) | caracteres c y d agrupados |
| c|d | carácter c o d |
| c{n} | n veces el carácter c |
| c{n,} | n o más caracteres c |
| c{n,m} | desde n hasta m caracteres c |
| [a-z] | cualquier letra minúscula |
| [A-Z] | cualquier letra mayúscula |
| [0-9] | cualquier dígito |
| [cde] | cualquiera de los caracteres c, d o e |
| [[:alnum:]] | cualquier letra o dígito |
| [[:alpha:]] | cualquier letra |
| [[:digit:]] | cualquier dígito |
| [[:lower:]] | cualquier letra minúscula |
| [[:punct:]] | cualquier marca de puntuación |
| [[:space:]] | cualquier espacio en blanco |
| [[:upper:]] | cualquier letra mayúscula |
Los patrones que son exclusivos de PCRE:
| Patrón | Significado |
|---|---|
| [[:ascii:]] | caracteres con código ASCII de 0 a 127 |
| [[:blank:]] | espacios o tabuladores |
| [[:cntrl:]] | caracteres de control |
| [[:graph:]] | caracteres de impresión, salvo el espacio |
| [[:print:]] | caracteres de impresión, espacio incluido |
| [[:word:]] | cualquier letra o dígito y el guión bajo |
| [[:xdigit:]] | cualquier dígito hexadecimal |
| \w | cualquier letra o dígito y el guión bajo |
| \W | cualquier cosa que no sea letra o dígito y el guión bajo |
| \s | cualquier espacio en blanco |
| \S | cualquier cosa que no sea un espacio en blanco |
| \d | cualquier dígito |
| \D | cualquier cosa que no sea un dígito |
| \b | inicio o final de palabra |
| \A | comienzo |
| \Z | final (incluido salto de línea) |
| \z | final |
Si no trabajamos “regularmente” con ésto, puede ser un tanto complejo dominarlo. Para ésto existe REGex TESTER v1.5.3, una aplicación online que nos permitirá chequear nuestras expresiones regulares antes de implementarlas en nuestros desarrollos.
He visto, frecuentemente, que al realizar una consulta en MySQL a un campo del tipo DATE, luego hacer la conversión por medio de algún script.
MySQL ya trae una función muy útil para eso, y es DATE_FORMAT:
SELECT DATE_FORMAT(fecha_inicio,’%d/%m/%Y') AS fecha FROM entradas
Obtendríamos directamente en el campo fecha, la fecha (valga la redundancia) en un formato español. Para una lista completa del formato que se puede utilizar, consulta la documentación de la función DATE_FORMAT.
Si bien el software existe hace varios años ya (la primer versión fue lanzada el 08 de mayo de 2005, casi 5 años atrás), el mismo no es muy difundido por lo que parece.

Se trata de Server2Go, que es un servidor web que, de momento sólo está disponible para Windows (98 y posteriores) y nos permitirá correr nuestras aplicaciones web directamente desde CD-ROM, pen-drive o carpeta en nuestro disco rígido sin la necesidad de instalación alguna.
Está basado en el popular servidor Apache, PHP, MySQL y SQLite. En los casos que utilicemos un CD-ROM como soporte, el programa creará una copia de la base de datos en una carpeta del disco rígido para poder actualizar la información.
Ésta ruta es configurable a gusto, y puede colocarse, por ejemplo, la carpeta temporal para ésto. Además de ésto, hay varios parámetros configurables, como la IP del servido (por defecto 127.0.0.1), su puerto (4001, si estuviera ocupado busca otro disponible), el puerto de MySQL (por defecto 7188) y varios más.
Entre ellos, uno de lo más útiles es el que nos permite configurar con qué navegador se abrirá por defecto la aplicación web una vez que ejecutemos el software: puede ser uno del sistema, o podemos incorporar uno propio (por ejemplo Portable Firefox). Éste es un aspecto interesante, ya que el servidor web (y todos sus servicios) estarán disponibles desde el momento en que se ejecuta el software, pero cuando cerramos el navegador, los servicios se cierran sin necesidad de hacerlo manualmente.
Para ver una lista completa de posibilidades, descargarlo y probarlo, visiten Server2Go.