10 cosas a tener en cuenta al desarrollar PHP

1. Si un metodo puede ser declarado estático, declaralo estático. Mejora la performance 4 veces.
2. Eviten usar opciones “mágicas” como: “__get“, “__set” y “__autoload
3. require_once() es caro
4. Usar paths absolutos en los “includes” y “requires” hace que se tarde menos tiempo en encontrar los archivos
5. Para saber cuánto tarda en ejecutarse un script, $_SERVER[’REQUEST_TIME’] es más barato que time()
6. Usar strncasecmp, strpbrk u stripos en vez de expresiones regulares (regex)
7. preg_replace es más rápido que str_replace, pero strtr es 4 veces más rápido que preg_replace
8. $row[’id’] es 7 veces más rápido que $row[id]
9. Los mensajes de error son caros
10. No usen funciones dentro de un loop (ej: for ($x=0; $x < count($array); $x) ), la función count() es llamada cada vez

Fuente Original: http://www.moskalyuk.com/blog/php-optimization-tips/1272

También te puede interesar:

7 Cosas to “10 cosas a tener en cuenta al desarrollar PHP”

  1. November 22nd, 2006 | 12:15 am

    Cuando no salta ningun boludo a decir “eh, pero en el original eran 12″ siento que ya nadie presta atencion.
    :(

  2. November 22nd, 2006 | 2:24 am

    eh, pero en el original eran 12!!!

    como no todos saben php acá, probablemente a no todos les interese.

    yo no se php, pero me resultó interesante (aunque inutil)

  3. Leo
    November 22nd, 2006 | 2:33 am

    “$row[’id’] es 7 veces más rápido que $row[id]”

    Parece mentira. Voy a probarlo

  4. Laura
    November 22nd, 2006 | 9:33 am

    que pasó con los otros dos??

  5. Julian
    November 22nd, 2006 | 9:55 am

    Perdón, insisto con el offtopic, pero no veo otra forma sencilla de sugerir esta data..

    Ya se puede probar el SO de las OLPC finales!! http://www.olpcnews.com/software/operating_system/emulating_olpc_sugar.html

  6. Gonzalo
    November 22nd, 2006 | 11:58 am

    “$row[’id’] es 7 veces más rápido que $row[id]”
    No solo $row[id] es mas lento, sino que ademas es incorrecto..

    Cuando vos usas una constante no definida (en este caso la constante “id”), PHP tira un Notice indicando que esa constante no se definió en ningun lado (con la función define()), y que la va a usar como string.

    ————–

    “require_once() es caro”

    Caro y malo.
    Prueben esto:

    /index.php
    echo(”1\n”);
    require_once(”include.php”);
    echo(”2\n”);
    require_once(”C:/inetpub/wwwroot/test/include.php”);

    /include.php
    echo(”INCLUIDO!\n”);

    (está claro donde hay que ubicar index.php, no?)

    Suerte!

  7. Gonzalo
    November 22nd, 2006 | 12:00 pm

    [OT]
    Una boludes, pero me causó mucha gracia: http://www.winehq.com/hypermail/wine-devel/2004/01/0785.html

    Slds!

Dejar una respuesta