martes, 31 de mayo de 2011

Lo que probablemente no sabías de PHP

Utilice ip2long () y long2ip () para almacenar las direcciones IP como enteros en lugar de cadenas en una base de datos. Esto reducirá el espacio de almacenamiento en casi un factor de cuatro (15 bytes para char (15) frente a 4 bytes para el número entero), que sea más fácil para calcular si una determinada dirección cae dentro de un rango, y las búsquedas velocidad y tipo (a veces un poco).

Validar direcciones de correo electrónico mediante la comprobación de que el nombre de dominio existe con checkdnsrr () . Esta construido en función de los controles para garantizar que un nombre de dominio especificado resuelve a una dirección IP. Una función definida por el usuario simple que se basa en checkdnsrr () para direcciones de correo electrónico válida en parte se puede encontrar en los comentarios de los usuarios en la sección de documentación de PHP. Esto es útil para la captura de esas personas ocasionales que piensan que su dirección de correo electrónico es 'usuario@wwwphp.net' en lugar de 'usuario@php.net.

Aprende a amar el operador ternario .

Prevenir los mensajes de error potencialmente sensibles de ser mostrado a los usuarios con el error_reporting (0). Lo ideal sería que los informes de errores deben ser completamente desactivado en un servidor de producción desde el interior de php.ini . Sin embargo, si usted está en un servicio de hosting compartido y no le dan su propio php.ini , entonces su mejor apuesta es agregar error_reporting (0), como la primera línea en cada una de las secuencias de comandos (o utilice con require_once () .) Esto evitará que las consultas SQL potencialmente sensibles y los nombres de ruta que se muestren si las cosas salen mal.

Utilice gzcompress() y gzuncompress() para comprimir de forma transparente y descomprimir cadenas largas antes de guardarlos en una base de datos. Estas funciones integradas de utilizar el algoritmo de gzip y puede comprimir texto hasta un 90%. Puedo usar estas funciones casi cada vez que de lectura / escritura a un BLOB de campo dentro de PHP. La única excepción es cuando necesito todas las funciones de indexación de texto.