Buscar

Rss Artículos

Foro

Autor

 

Cosas que no sabía sobre php

Interesante lista de cosas que posiblemente no sabías sobre php ( yo no conocía ni la mitad) sacadas de esta web y de esta.

ip2long() y long2ip()

Estas dos funciones ip2long() y long2ip() sirven para almacenar las direcciones IP cómo enteros en vez de cómo cadenas en la base de datos, esto reducirá los recursos de almacenamiento conseumidos de los 15 bytes de un chasr(15) a los 4 bytes de un entero.

Validadción de direcciones de email

La validación parcial de direcciones IP es fácil gracias a la función checkdnsrr().
Esta función nos asegura que el dominio devuelto existe, por ejemplo muy útil en caso cómo este:

‘usuario@gmail.com’ Válida
‘usuario@wwwgmail.com’ No Válida

Cómo no hacer trabajo innecesario

Si no te gustaría estar trabajando en una determinada función durante un tiempo para luego darte cuenta que has reinventado la rueda… chequea PEAR antes de escribir las siguientes líneas de código.

PEAR - Un framework y sistema de distribución de utilidades Php. PEAR nos ofrece complementos php agrupándolos en “Packages”.

Formatea tu código

Una función que formatea una cadena pasada, especialmente pensada para código fuente, highlight_file().

Muy útil en caso de que queramos compartir dudas sobre nuestro código con algún amigo ya sea por el messenger, IRC o cualquier servicio parecido.

No muestres los errores

Evita mostrar los errores de mensajes con la función error_reporting(0). Útil en caso de tener hospedaje compratido deberás incluirlo en la primera línea de cada uno de tus scripts, esto evitará que información de conexiones PHP y usuarios MySQL sea mostrada.

Opcodes

PHP usa una mezcla entre interpretación y compilacion para intentar ofrecer a los programadores lo mejor entre rendimiento y flexibilidad.

PHP compila para tu codigo una serie de instrucciones (llamadas opcodes) siempre que estas son accedidas. Estas instrucciones son entonces ejecutadas una por una hasta que el script termina. Esto es diferente a la manera convencional de compilacion de lenguajes como C++ donde el código es compilado a código ejecutable que es despues ejecutado. Php es recompilado cada vez que se solicita un script.

El tag ?> es opcional

Cada uno de los archivos php que has programado probablemente tengan este formato:


?>

¿Pero sabías que la etiqueta ?> es opcional? Elimínala y todo seguirá funcionando, no estoy seguro de que funcione con todas las versiones pero si funciona en PHP 5.1.
No hay ningún buen argumento que justifique su eliminación de nuestro código, pero es bastante curioso.

Enmascara otros lenguajes dentro de PHP

Java, Perl, Python y .NET son algunos ejemplos de lenguajes que puedes utilizar dentro de código PHP. El soporte para otros lenguajes puedes encontrar en PECL.

Hacer a los objetos parecerse a arrays

Puedes usar la libreria estándar de php SPL para convertir objetos en array de la siguiente manera:

$object = new MyObject();
$object['name'] = ‘Hello World’;

object = new MyObject();

foreach ($object as $k=>$v) {
echo “$k = $v\n”;
}

Require es más rápido que require_once

En versiones anteriores a PHO 5.2 usando require en vez de require_once puedes conseguir un incremento de velocidad especialmente en aplicaciones pesadas. La razón es que require_once hace un llamada extra al sistema para validar que tu no has incluido este archivo previamente. Require incluye un archivo sin comprobación alguna.

Manejar tus errores es fácil

El resumen de errores programado por PHP ciertament no es de lo mejor. EL famoso “headers already sent” o “call to undefined function” que te aparece en negrita y con un número de línea que puede o no puede ser correctos.

Pero puedes programar tu propio manejador de errores.s:

function mis_errores ($numero, $mensaje, $archivo, $linea) {
// Añade el CSS para tu codigo
echo ‘

El siguiente error ocurrio en linea ‘ . $linea . ‘ del archivo ‘ . $archivo . ‘: ‘ . $mensaje . ‘
‘;
echo ‘

Las actuales variables son:

‘ . print_r($GLOBALS, 1) . ‘

‘;
}

Entonces usaras tu propio manejador por defecto y no el de PHP diciendoselo a PHP en la funcion set_error_handler().

set_error_handler(’mis_errores’);

Entonces ya la mayoría de los errores seran manejados por tu función (pero hay algunas excepciones). Con el anterior ejemplo los errores son imprimidos con formato html.

Deberia incluso plantearte la posibilidad de enviar estos errores via mail con la funcion mailto y de esta manera tendras un control en tiempo real de tu sitio, o incluso manejar errores en la conexión a una base de datos.

try {
if (!@mysql_connect(’localhost’, ‘username’, ‘password’))
throw new Exception (mysql_error());
} catch (Exception $e) {
echo ‘Imposible conectar a la base de datos: ‘ . $e->getMessage();
}


Otros temas interesantes


 

Un comentario en “Cosas que no sabía sobre php”

  1. Autor
    1
      Essa Morty
     

    when they say it’s ove. Essa Morty.



Deja un comentario