Escribir menos código puede suponer dos mejoras en nuestra aplicación: código más limpio y fácil de seguir, y código más eficiente.
Usar operadores lógicos (or y and) en vez de if
Si queremos ejecutar una instrucción dependiendo del resultado booleano de una instrucción anterior, como por ejemplo:
$status = fwrite($h, 'texto');
if (!$status) {
log('Error al escribir');
}
Podremos hacerlo de la siguiente manera:
fwrite($h, 'texto') or log('Error al escribir');
Uso del operador ternario
Cuando queremos asignar un valor a una variable dependiendo del resultado de una condición:
$var = $ok? 'Correcto' : 'Falso';
Usar for antes que while
Mientras que con el while serÃa:
$i = 0;
while ($i < 100) {
$var[] = $aux[$i];
$i += 2;
}
Con el for serÃa asÃ:
for ($i = 0; $i < 100; $var[] = $aux[$i+=2]);
Uso de funciones por referencia
Cuando una función nos devuelve un array, no es imposible acceder directamente al contenido del array:
$ext = pathinfo('file.png')['extension'];
// Parse error: syntax error, unexpected '[' in ... on line ...
Para evitar este error podemos crearnos un juego de funciones como estas:
// Devuelve la referencia al objeto
function &r($v) { return $v; }
// Devuelve la posición del array
function &a(&$a, $i) { return $a[$i]; }
Y por último un par de consejos: intenta conocer las funciones de PHP, hay muchas que harán justo lo que tu necesitas, por lo que no tendrás que implementarlo. Antes de escribir más código para que se lea con facilidad, añade un comentario explicativo.
6 PHP coding tips to write less code
VÃa / dzone
Hola, excelente Web, útil y con muchos recursos.
No se si es mucho pedir si me puedes ayudar con lo siguiente: para formar un PDF, ¿cómo hacerlo extrayendo la data, es decir, texto y la imagen de un artÃculo, que están almacenados en la base de datos MySQL?
Lo he intentado con la clase class.pdf2text.php, pero no me resulta. Un ejemplo de cómo se hace, me ayudará mucho.
Gracias, bye
Hola Rikochett, lo que tu necesitas es esta librerÃa:
http://www.fpdf.org/
Saludos