ubiquitour.com

Trucos PHP

En 2009, empresa PHP revista estima que aproximadamente 1 millón de currículos fueron en línea pertenecientes a programadores de PHP. Especialmente en ambiente de colaboración y social online de hoy, programadores de PHP compartan conocimientos, consejos y trucos para ayudar a los programadores nuevos y experimentados por igual. Trucos PHP son generalmente formas de abordar un problema o codificación trucos que hacen un guión mejor por mejorar el rendimiento de escritura, tomando menos tiempo al código, reduciendo el tamaño del código o aumentar la legibilidad del código. Es útil para programadores en PHP hasta muy experimentados para revisar de vez en cuando trucos y a implementarlos en su propio código, por lo que no se olvidan.

O entre las declaraciones

Si usted está comprobando un booleano código de retorno de una función y tomar medidas en el resultado, a menudo puede escribir una declaración más compacta usando "o" que también es más fácil de leer de una manera tradicional de codificación la comparación. Por ejemplo, considere el siguiente código que intenta conectarse a un servidor de base de datos MySQL y sale del programa si la conexión no se realizó con éxito:

$dbc = mysql_connect_db ("localhost", $username, $password);Si (! $dbc) {}Die();}

Puede escribir la misma declaración en una sola línea conectando las declaraciones con "o:"

$dbc = mysql_connect_db ("localhost", $username, $password) o die();

Errores de MySQL supresor

En el ejemplo anterior, si la conexión de base de datos no tiene éxito, antes de la aplicación muere, la extensión PHP MySQL generará un mensaje de error muy técnico a la pantalla, por ejemplo:

ADVERTENCIA: Acceso negado para usuario: [email protected] (Using password: sí) en /var/www/application/html/database.php en línea 6

Este mensaje de error se emitirá al usuario incluso si los mensajes de error PHP está apagado. Llamada a una función MySQL con el prefijo para ocultar el mensaje de error de usuarios, la "a" señal y mensajes de error de MySQL pueden ser suprimidos para esa llamada. Para incluir tu propio mensaje de error, pasar una cadena a la función de "morir". Por ejemplo:

$dbc = @mysql_connect_db ("localhost", $username, $password) or die ("no se pudo conectar al servidor de base de datos!");

Imágenes regresan

Puede haber casos donde desea devolver una imagen en lugar de HTML, como en un servicio Web. Puede hacer incluye un encabezado "Content-type" para especificar que la salida es una imagen y mediante la función "readfile" para devolver el contenido del archivo de imagen. Cambiar a HTML mediante la emisión de un encabezado "Content-type" de HTML. Por ejemplo:

<? php...header ("Content-type: imagen/gif");readfile($ImageFile);header ("Content-type: texto/html");echo "< cuerpo / >< / html >";? >

Ignorar usuario cancelación

Si está realizando una operación, por ejemplo, actualizar una base de datos, y no desea que el usuario sea capaz de interrumpir o cancelar la operación haciendo clic en el botón de stop en el navegador, puede indicar a PHP ignorar intentos de cancelación hasta que la operación se complete. Por ejemplo:

<? phpignore_user_abort(true);update_database();ignore_user_abort(false);? >

Búsqueda de arreglos de discos

Si tienes una matriz de búsqueda, considerar diseñar la matriz tal que los valores de la matriz se convierten en las claves del array y sus valores correspondientes son cada uno. En lugar de buscar cada elemento de la matriz para un partido, por ejemplo utilizando la función "in_array", usted puede comprobar si un elemento de matriz existe mediante la función "isset" y mejorar significativamente el rendimiento de las búsquedas de matriz. Cuanto mayor sea el array, el mayor aumento el rendimiento. Por ejemplo:

En vez de esto:<? php$drinks = array ("café", "té", "jugo", "soda", "leche");Si (in_array ("té", $drinks)) {echo "Tea party!";}? >

Este método de codificación es aproximadamente tres veces más rápido:<? php$drinks = array ("café" = > 1, "té" = > 1, 'jugo' = > 1, "soda" = > 1, "leche" = > 1);Si isset($drinks["tea"]) {echo "Tea party!";}? >