elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Optimizacion PHP: Funciones VS Includes
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Optimizacion PHP: Funciones VS Includes  (Leído 3,149 veces)
Gogeto

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Optimizacion PHP: Funciones VS Includes
« en: 28 Julio 2011, 04:21 am »

Hola.

He buscado bastante sobre el tema y en ningún sitio he encontrado exactamente lo que necesitaba saber, así que voy a plantear mi pregunta de modo que pueda servir también a otros.

Ya conocemos las ventajas de programación dinámica en PHP, y las mejoras de escalabilidad que ofrecen las funciones e includes a la hora de modificar y adaptar un proyecto a necesidades futuras.

En algunos casos (cuando necesitamos que un dato sea retornado por el script) se utilizan funciones, y a la hora de añadir páginas que se repiten (como un menu) utilizamos includes, por lo general.

Pero hay situaciones en las que un include nos hace el mismo papel que una función, como por ejemplo a la hora de parsear elementos de un $_GET en ciertas situaciones. Cuando se dan estos casos, que resulta más eficiente para PHP; utilizar una función (o clase) o un include? Las variables del include (o require, por si acaso) estarán en el mismo ámbito en el que vana  ser utilizadas despues, por lo que llamarlas resultará mucho ,más eficiente, ademas, ahorraremos el tiempo de llamar a la función (que además deberá haber sido previamente incluida o se habrá tenido que crear una instancia, según el tipo de función), una vez terminada tendrá que devolver los valores y estos deberán ser almacenados. Todo este trabajo con el include no se realiza, pero PHP debe leer el fichero a incluir y ejecutarlo junto con lo demas, por lo tanto, mi pregunta en resumen es:
En igualdad de condiciones, que es mas eficiente, un include o una función?


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Optimizacion PHP: Funciones VS Includes
« Respuesta #1 en: 28 Julio 2011, 04:37 am »

WTF? puede que yo diga una estupidez pero funciones e includes no tiene nada en común,


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Optimizacion PHP: Funciones VS Includes
« Respuesta #2 en: 28 Julio 2011, 06:13 am »

Normalmente para eso existen las clases donde cada clase es un archivo y se van llamando unas a otras. Esta sería una buena estructura.

Una cosa es la carga de memoria de un include(), pero si haces todo en un mismo archivo tienes el doble o triple carga debido a que el script se cargará siempre y siempre tendrá que cargar texto muerto que nunca se usará, por eso el include ahorra ese resto de código en la memoria al cargarse el script y al aumentar de lineas tu sistema harás que se haga mas liviano con sus includes.

En consecuencia los includes deberían usar menos memoria que un solo megascript con todas las funciones a exepción si es un código de tres o cuatro lineas. Compara cuanta memoria te gasta el include() y transformalo en bytes de memoria cargada cuando el script completo pasa a la memoria ram antes de interpretarse. Además el motor zend de php revisa todo el código pharseando linea por linea antes e interpretarse haciendo una doble carga, no así con los includes donde se evalua en tiempo real de cáda include().

O sea, puedes decir: if($_GET['x'] == 1) include('corrupto.php'); y si x no es 1 entonces no va a mostrar ningún error porque no se evaluó el script corrupto ahorrando memoria.

Por eso los frameworks y cms mas rápidos son los modulares o de carga en tiempo real como codeigniter, phpnuke, fdc, etc.

El otro tema es el orden, si quieres escalabilidad aunque siempre cargues el mismo archivo debes separarlo de los demás como lo hace wordpress, siempre usas header.php, siempre usas footer.php pero están separados, ¿porqué no son uno solo?, por escalabilidad y comodidad al momento de hacer ediciones.

Debes tomar en cuenta todos estos puntos antes de decidir que cosas separar y que cosas dejar dentro de un mismo archivo.

Yo voto por los includes.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No funcionan los includes???
PHP
Luisango 7 2,243 Último mensaje 13 Diciembre 2006, 21:21 pm
por Luisango
[C] Problema con Struct en funciones que llaman a otras funciones
Programación C/C++
‭lipman 9 23,590 Último mensaje 19 Mayo 2011, 23:39 pm
por Littlehorse
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines