Mi pregunta es si usar múltiples PHP includes() es o no una mala idea. La única razón por la que pregunto es porque siempre escucho tener demasiadas hojas de estilo o scripts en un sitio, crea más solicitudes HTTP y ralentiza la carga de la página. Me preguntaba lo mismo sobre PHP.Usar demasiados PHP incluye una mala idea?
Respuesta
La respuesta detallada:
Cada CSS o JS archivo de referencia en una página web es en realidad descabellada través de la red por el navegador, lo que implica a menudo 100s de milisegundos o más de latencia de la red. Las solicitudes al mismo servidor son (por convención, aunque no obligatorias) serializadas una o dos a la vez, por lo que estas demoras se acumulan.
Los archivos de inclusión de PHP, por otro lado, se procesan en el servidor. En lugar de cientos de milisegundos, el acceso al disco local será de 10 s de milisegundos o menos, y si se almacena en caché, se accederá a la memoria directa, que es aún más rápido.
Si utiliza algo como http://eaccelerator.net/ o http://php.net/manual/en/book.apc.php, entonces su código PHP se precompilará en el servidor una vez, y ni siquiera importa si está incluyendo archivos o los está volcando todos en un solo lugar.
La respuesta corta:
No se preocupe por ella. 99 veces de cada 100 con este problema, los beneficios de una mejor organización del código superan el aumento del rendimiento.
El uso de includes ayuda con la organización del código, y no es un obstáculo en sí mismo. Si está cargando un montón de cosas que no necesita, eso ralentizará las cosas, pero ese es otro problema. Aclaración: al incluir páginas, tenga en cuenta lo que está agregando a la carga; no incluya descuidadamente recursos innecesarios.
Realmente depende de lo que quiere hacer, quiero decir, si tiene un código que se usa todo el tiempo, es realmente conveniente incluirlo en lugar de copiar y pegar todo el tiempo y eso hará que su código más claro y no más lento, pero si incluye todas las funciones o clases que ha escrito en sus archivos sin usarlas, por supuesto, eso no es una buena práctica ... Sugeriría usar un marco (como codeigniter u otra cosa que le parezca conveniente) porque realmente ayuda a despejar esto ... ¡buena suerte!
La única razón por la que estoy pidiendo es porque Siempre escucho tener demasiados hojas de estilo o secuencias de comandos en un sitio crea más peticiones HTTP y ralentiza carga de la página. Me preguntaba lo mismo sobre PHP.
Observe que una solicitud HTTP es varias órdenes de magnitud más lenta que un PHP.
Varios peticiones HTTP -> Cliente tiene que pedir y aceptar sobre el alambre varios archivos
Varios PHP incluye -> Cliente tiene que pedir y aceptar sólo un archivo
La incluye, obviamente, tendrá una penalización de servidor. Pero con tu pregunta ... no te preocupes. Solo en proyectos PHP a gran escala enfrentarás tales problemas.
Como ya he dicho, el uso de múltiples PHP incluye ayuda a mantener su código organizado, por lo que no es una mala idea. Se convertirá en un problema cuando se usen demasiados, porque el servidor web tendrá que realizar una operación de E/S por cada inclusión que tenga.
Si tiene una aplicación web grande, puede aumentarla usando PHP accelerator, que almacena en caché los datos y el código compilado del compilador de códigos de bytes de PHP en la memoria compartida. Si tiene muchas inclusiones de PHP en un archivo específico, se realizarán solo una vez. Las llamadas adicionales a ese archivo presionarán la memoria caché, por lo que no se realizará ninguna solicitud de PHP.
PHP puede detectar el archivo incluido ya que puede usar la función include_once() en lugar de include().
- 1. ¿Es una mala idea ini_set ('max_execution_time', 0) una mala idea?
- 2. contentDescription = "@ null" una mala idea?
- 3. Prisma: ¿mala idea usarlo?
- 4. Buffer de salida PHP: parece una mala idea, ¿o sí?
- 5. ¿Es siempre una mala idea usar + para concatenar cadenas
- 6. Prolog Beginner - ¿Es esta una mala idea?
- 7. Linq, es select(). SingleorDefault() ¿una mala idea?
- 8. ¿Es * {position: relative} una mala idea?
- 9. ¿Es una mala idea capturar OutOfMemoryError?
- 10. Cerrar una secuencia en la función, ¿una mala idea?
- 11. Inicialización global de NUnit: ¿mala idea?
- 12. ¿Es una mala idea declarar un método estático final?
- 13. ¿Por qué continuar en un ciclo es una mala idea?
- 14. ¿Los bloques Try/Catch anidados son una mala idea?
- 15. está devolviendo un valor de 'siguiente' una mala idea?
- 16. ¿Es una mala idea agregar índices a un servidor SQL?
- 17. ¿Es una mala idea dividir los modelos en directorios?
- 18. ¿Los hilos de fondo son una mala idea? ¿Por qué?
- 19. ¿Es una mala idea saltar a LINQ to SQL ahora?
- 20. ¿Por qué es una mala idea permitir esto en JavaScript ==,! =, ++, -
- 21. Devolución Enumerable.Empty <T>() .AsQueryable() ¿una mala idea?
- 22. JSON en URL Hash - ¿Una mala o buena idea?
- 23. ¿Por qué es una mala idea usar ClientLogin para aplicaciones web en la API de Google?
- 24. PHP robusto incluye para manejar los errores?
- 25. php-fpm Demasiados archivos abiertos
- 26. Mala idea para detectar todas las excepciones en Python
- 27. ¿Por qué incluir "usar el espacio de nombres" en un archivo de encabezado es una mala idea en C++?
- 28. PHP incluye dentro de una variable
- 29. ¿Utiliza "varchar" como clave principal? ¿mala idea? o bien?
- 30. Usando <noscript> dentro de <head>: ¿Buena idea o mala idea?
Pensé que debe haber alguna diferencia integral entre CSS, etc. y las páginas de PHP. Muchas gracias. – Smandoli
La mejor parte de tu respuesta fue explicar cómo funcionaban JS y CSS. Desearía que más personas profundizaran en sus respuestas. ¡Gracias! : D Por cierto, me encontré con este proyecto y esta es una herramienta para precompilar código como las herramientas anteriores? – NessDan
Cuando se utiliza el caché de código de operación, más incluido (= archivos más pequeños), es un poco más rápido que todo-en-uno-gran-archivo. Pero no deberías preocuparte por esto. Enfóquese en la legibilidad del código en su lugar. – Jacco