2009-07-28 12 views
7

En primer lugar, admitiré que soy anal sobre tales cosas. (Malo, malo, yo.) Sin embargo, me pregunto qué se considera la mejor práctica en términos de nombres de archivos PHP incluidos.PHP incluye las mejores prácticas de extensión de archivos

Como caso base Voy a mantener .php como el extensión final (para ayudar a prevenir los archivos sin interpretar siendo exagerado), pero para ayudar a distinguir entre un archivo de extremo frontal y un archivo de inclusión que soy o bien ir a:

  1. Nombre todo de los archivos de inclusión XXX.inc.php

  2. Nombre genérico (no clase) archivos que el anterior y definiciones de clases como ClassName.class.php (potencialmente útil para la utilización del cargador automático en la línea, aunque no estoy un gran fan de cargadores automáticos.)

Actualmente estoy decidirse por la opción 2, pero me pregunto si hay alguna otra sugerencia o pedazos de consejo que recomiendo.

Respuesta

7

Antes que nada, estoy totalmente de acuerdo contigo cuando dices que todos los archivos PHP deben tener ".php" como extensión final; dos razones para ello:

  • como ha afirmado, que ayuda a prevenir los archivos sin interpretar han recuperado
  • También ayuda con IDE/editores que hacen sintaxis de coloración basado en el nombre de archivo: usted no tiene que configurar considerar ".inc" como un archivo PHP.

Hay casos en que hago lo contrario; la razón principal de esto es cuando estoy usando una herramienta (CMS, Framerwork, library, ...) que tiene algunas reglas sobre el nombre de los archivos: tiendo a seguirlos, incluso si no me gustan.

Por ejemplo:

  • Con Drupal, utilizo ".inc", ".module", ".install", ...
  • Con Zend Framework, utilizo ".phtml" para vistas de las secuencias de comandos (HTML + PHP)

Para los archivos que contienen clases, no me gusta ".class.php": creo que es un poco redundante; Tiendo a usar "MyClassName.php", y uso esto para autocarga.
(Por cierto, eso es lo frameworks como Zend Framework o ORM de Doctrine recomendar)

Como comentario: usted dice que no es un gran fan de los cargadores automáticos; por qué ?
utilizo los tanto como puedo:

  • generalmente mejor para el rendimiento: sólo el código que realmente utiliza se carga/Analizada
  • menos código para escribir (sin require/include)
+0

Por lo general, no soy partidario de los cargadores automáticos ya que no son tan explícitos como un manual. (En mi opinión, es algo equivalente a la declaración explícita de una variable.) Dicho esto, me doy cuenta de que así es como van las cosas y que la sobrecarga de recursos es en gran medida irrelevante en estos días. –

+0

Estamos de acuerdo en una cosa: no es tan explícita como manual incluye :-) (Al menos, cuando los nombres de clase son conocidos en el momento de escribir el código) –

+0

Me doy cuenta de que esta es una publicación anterior, pero ¿qué haces ahora que hay Interfaces y rasgos, ya que en su archivo 'ClassName.php',' InterfaceName.php' y 'TraitName.php' se verán idénticos a los nombres reales en su lugar. –

6

Uso ClassName.class.php para archivos de clase y SomeDescription.lib.php para archivos que no son de clase.

No es fan de .inc.php. Parece algo incorrecto describir el archivo en términos de cómo se puede importar, en lugar de su contenido.

+0

Normalmente uso archivos '.inc' para HTML estático que se incluirán. Por lo tanto, 'login.inc' –

+1

Si nos fijamos en los muchos frameworks que existen, si tiene una carpeta para sus clases, no hay necesidad de poner un .class.php allí. Por otro lado, si solo tienes una carpeta de "aplicación" con todos tus archivos, entonces tal vez, pero solo diría que reconsideres la estructura de tu carpeta. – Garrett

+1

Me gusta la idea de .lib.php y estoy totalmente de acuerdo con la razón detrás de no usar XXX.inc.php; esta es probablemente la razón por la cual no me parece "correcto". –

Cuestiones relacionadas