Indentar tu código y usar espacios en blanco para mejorar su lectura
Coloca varios niveles de sangrado y separar párrafos de código con líneas en blanco mejoran su legibilidad. Esto te ayudará a hacer cambios en el futuro. Se recomienda usar espacios en vez de caracteres de tabulación porque podría verse diferente en diferentes editores. Los IDEs y editores de texto avanzados puede indentar en forma automática.Encontrá el mayor número de una terna
Como ejemplo tratemos de leer este código :if(($n1>$n2)&&($n1>$n3)){ echo "El mayor es $n1\n"; }else{ if($n2>$n3){ echo "El mayor es $n2\n"; }else{ echo "El mayor es $n3\n"; }}y comparémoslo con este código bien indentado:
if (($n1>$n2) && ($n1>$n3)) { echo "El mayor es $n1\n"; } else { if ($n2>$n3) { echo "El mayor es $n2\n"; } else { echo "El mayor es $n3\n"; } }
Almacenar direcciones IP como UNSIGNED INT
Cuando tenemos que guardar una IP en una tabla de nuestra base de datos podemos pensar en usar un VARCHAR(15) sin darnos cuenta que podemos almacenarlo en un entero, ahorrando espacio y utilizando un campo de tamaño fijo en vez de variable.INET_ATON()
Esta función de Mysql retorna una representación numérica de una dirección IP.Por ejemplo:
mysql> SELECT INET_ATON('10.0.5.9'); -> 167773449el valor se calcula sumando los productos de cada término por 256 elevado al cubo, al cuadrado, a la uno o a la cero según su posición: 10×2563 + 0×2562 + 5×256 + 9 = 167773449.
INET_NTOA()
Dado un número esta función de Mysql retorna una representación de dirección IP que estamos acostumbrados a ver de cuatro números separados por puntos.Por ejemplo:
mysql> SELECT INET_NTOA(167773449); -> '10.0.5.9'
Implementación
Tenés que utilizar campos UNSIGNED INT porque los campos INT no pueden almacenar correctamente los valores numéricos de IPs que empiecen con un número mayor a 127.En PHP hay funciones similares llamadas ip2long() y long2ip(). Por ejemplo para actualizar una tabla "usuarios" con la IP del usuario actual podriamos usar:
$r = "UPDATE usuarios SET ip = INET_ATON('{$_SERVER['REMOTE_ADDR']}') WHERE user_id = $user_id";
Usar Output Buffering
Activando el almacenamiento de la salida en búffer mejoramos el rendimiento y velocidad de nuestros scripts PHP. Sin output buffering el script va mostrando el HTML de la página a medida que lo va procesando, en trozos. Pero agregando output buffering PHP almacena en una variable todo el HTML y lo envía al navegador de un tirón.Funciones ob_start() y ob_end_flush()
ob_start() activa el almacenamiento en búffer y en forma optativa podemos decirle cuánto queremos almacenar como máximo y qué función llamar cuando se llene el búffer.ob_end_flush() desactiva el almacenamiento de la salida en búffer, envía su contenido y lo descarta.
Implementación
Imprimir los cubos de los primeros 100 números naturales:<!DOCTYPE html> <?php ob_start(); ?> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Cubos</title> </head> <body> <?php for($i = 0; $i <= 100; $i++){?> <p>El cubo de <?php echo $i;?> es <?php echo pow($i, 3);?></p> <?php } ?> </body> </html> <?php ob_end_flush();