A menudo veo ejemplos en PHP que usan archivos .inc para incluir. ¿Cuál es el significado de .inc? ¿Para que se utiliza? ¿Cuáles son las desventajas y ventajas de usarlo?¿Qué es .inc y por qué usarlo?
Respuesta
No tiene sentido, solo es una extensión de archivo. Es una convención de algunas personas nombrar archivos con una extensión .inc si ese archivo está diseñado para ser incluido por otros archivos PHP, pero es solo una convención.
Tiene una posible desventaja, que es que los servidores normalmente no están configurados para analizar archivos .inc como php, por lo que si el archivo se encuentra en su raíz web y su servidor está configurado de manera predeterminada, un usuario podría ver su Código fuente php en el archivo .inc visitando la URL directamente.
Su única ventaja es que es fácil identificar qué archivos se utilizan como incluidos. Aunque simplemente darles una extensión .php y colocarlos en una carpeta incluye tiene el mismo efecto sin la desventaja mencionada anteriormente.
Es solo una manera para que el desarrollador pueda identificar fácilmente los archivos que se deben usar como incluidos. Es una convención popular. No tiene ningún significado especial en PHP, y no cambiará el comportamiento de PHP o el script en sí.
1 "No tiene ningún significado especial para PHP" – dpp
En mi opinión, estos se utilizaron como una forma de encontrar rápidamente archivos de inclusión durante el desarrollo. Realmente estos se han vuelto obsoletos con las convenciones y los diseños del marco.
Este es el comentario sin sentido. Siempre uso .inc para incluir archivos porque es fácil y no hay negativos, solo positivos. El término "convenciones" no tiene ningún referente del que sea consciente en este contexto. Y los frameworks de PHP, ni idea, nunca los toco yo mismo, escribo código, por lo que la noción de que los 'frameworks' han reemplazado la codificación de PHP es simplemente incorrecta. No hay nada de malo con el uso de las cosas si te gusta, pero creer que se reemplazó la programación estándar, en los editores de código, es simplemente incorrecto. – Lizardx
Generalmente significa que es un archivo que debe incluirse y no crea una secuencia de comandos independiente.
Esta es una convención, no una técnica de programación.
Aunque si su servidor web no está configurado correctamente, podría exponer archivos con extensiones como .inc.
+1 "no crea una secuencia de comandos independiente en sí misma" – dpp
Esta es una convención que el programador generalmente usa para identificar diferentes nombres de archivos para incluir archivos. De modo que si los otros desarrolladores están trabajando en su código, él puede identificar fácilmente por qué este archivo está allí y cuál es el propósito de este archivo simplemente al ver el nombre del archivo.
+1 "para otros desarrolladores" – dpp
@domanokz. gracias ... –
Solo para agregar. Otra desventaja sería que. IDE no reconoce los archivos .inc, por lo tanto, no podría aprovechar las características de autocompletar o de predicción de código.
Si le preocupa que se sirva el contenido del archivo en lugar de su resultado. Puede usar una extensión doble como: file.inc.php
. A continuación, cumple el mismo propósito de ayuda y mantenimiento.
normalmente tienen 2 archivos php para cada página en mi sitio:
- Una llamada
welcome.php
en la carpeta raíz, que contiene todas las marcas HTML. - Y otra llamada
welcome.inc.php
en la carpetainc
, que contiene todas las funciones PHP específicas de la páginawelcome.php
.
EDITAR: Otro beneficio de usar la doble extensión .inc.php
sería que cualquier IDE todavía puede reconocer el archivo como código PHP.
+1 Vale la pena mencionar que lo hice en uno de mis proyectos. – dpp
Tenga en cuenta que Puede configurar Apache para que todos los archivos con la extensión .inc
estén prohibidos para ser recuperados al visitar la URL directamente.
vea el enlace: https://serverfault.com/questions/22577/how-to-deny-the-web-access-to-some-files
- 1. Perl, ¿Por qué @INC es diferente?
- 2. ¿Qué es un MQ y por qué quiero usarlo?
- 3. ¿Qué es PDO y por qué debería usarlo?
- 4. ¿Qué es JAXB y por qué debería usarlo?
- 5. ¿Qué es NHibernate y por qué debería usarlo?
- 6. ¿Qué es LD_LIBRARY_PATH y cómo usarlo?
- 7. ¿Qué es MVVM, y deberíamos usarlo?
- 8. ¿Qué es Request.InputStream y cuándo usarlo?
- 9. ¿Qué significa "solo exposición"? ¿Por qué usarlo?
- 10. ¿Qué es ICustomTypeDescriptor y cuándo usarlo?
- 11. ¿Qué es __declspec y cuándo debo usarlo?
- 12. ¿Qué es EGL y cómo puedo usarlo?
- 13. Qué hace asm ("pause") y por qué usarlo
- 14. ¿Qué es un delegado en Cocoa y por qué debería usarlo?
- 15. ¿Qué es la versión 8.0 del protocolo TDS y por qué debería usarlo?
- 16. include() ¿Por qué no debería usarlo?
- 17. explicación de D_GNU_SOURCE ¿Por qué usarlo y cuándo?
- 18. ¿Qué es un simulacro y cuándo deberías usarlo?
- 19. ¿Qué es un MvcHtmlString y cuándo debería usarlo?
- 20. ¿Qué es un DSL y dónde debería usarlo?
- 21. ¿Qué es JNI Graphics o cómo usarlo?
- 22. ¿Qué es la delegación? ¿Cuándo querría usarlo?
- 23. ¿por qué usar 'assert' en un proyecto? (Y por qué usarlo tantas veces)
- 24. Magento XMLConnect ... ¿Qué es y cómo puedo usarlo?
- 25. LLVM ¿Qué es y cómo puedo usarlo para compilaciones multiplataforma
- 26. ¿Qué es un archivo .pem y cómo usarlo?
- 27. ¿Qué es el bean scope y cuándo usarlo?
- 28. ¿Qué es un ÍNDICE ESPACIAL y cuándo debería usarlo?
- 29. ¿Qué es strophe y cómo usarlo con JQuery?
- 30. ¿Cuál es la diferencia entre% INC y @INC?
@domanokz Sí, será seguro usarlo en ese momento. Se tratará como php solo cuando se use en una estructura 'require' o' include' y se tratará como texto sin formato el resto del tiempo. Tratarlo como texto en su servidor no va a doler, solo duele cuando su código se sirve como texto para el usuario final). – Paulpro
@Paulpro Me lo estaba preguntando desde hace un tiempo, ¡gracias por dejar esto en claro! –
Gran explicación. Acabo de comenzar en un nuevo trabajo y los vi ensuciados durante toda la aplicación. No tenía idea de que era puramente una convención. ¡Gracias! – Chev