Pregunta

Yo escribo una pieza de software pequeña que pasar por las carpetas y los archivos de todos los proyectos de PHP que se pasan y detectar si alguno de ellos es en realidad también un proyecto Zend. ¿Hay algún archivo en particular que pueda leer y decir que el proyecto actual es un proyecto Zend inmediatamente? o hay alguna manera conveniente contar?

¿Fue útil?

Solución

alt text

Esta es la estructura de directorios por defecto que crea ZF para que al iniciar un proyecto. Así que si lo que buscas en la estructura de directorios que esto debería funcionar.

Alternativamente, usted podría mirar para ver si un directorio tiene un archivo oculto llamado .zfproject.xml.

Espero que ayude!

Otros consejos

No creo que las cabezas respuesta anterior en la dirección correcta. Para empezar,

  

Zend Framework se llama a menudo   'Biblioteca de componentes', ya que tiene   muchos componentes débilmente acoplados que   se puede utilizar más o menos   de forma independiente.

Fuente: Zend Framework MVC y Introducción

Si se asume que el uso estándar incluirá tanto la estructura MVC sugerido y zftool para la creación del proyecto es una suposición incorrecta debido a que muchos proyectos elija manualmente un subconjunto de componentes de Zend para minimizar la huella de la clase ahora de 45 MB.

En su lugar, deja mirada en un punto Thomas insinuado en su respuesta anterior:

  

Además, la voluntad directorio de la biblioteca   por lo general contienen un directorio llamado   'Zend'.

Y ahora de Guía de referencia del programador de Zend:

  

Zend Framework estandariza en una clase   convención de nomenclatura por lo que los nombres de   las clases se asignan directamente a la   directorios en el que están almacenados.   El directorio raíz es la ...   "Zend /" directorio ... Todo Zend   clases del framework se almacenan   jerárquicamente bajo estas raíz   directorios ..

     

Los nombres de clase única puede contener   caracteres alfanuméricos. Los números son   permitido en los nombres de clases, pero son   desalentado en la mayoría de los casos. subrayados   sólo se permitirán en lugar de la   separador de ruta; el nombre del archivo   "Zend / db / Table.php" debe corresponderse con una   nombre de la clase "Zend_Db_Table".

     

Importante: El código que se debe implementar   junto con las bibliotecas de Zend Framework, pero   no es parte del estándar o extras   bibliotecas (por ejemplo código de aplicación o   bibliotecas que no se distribuyen por   Zend) no debe comenzar con "Zend_" o   "ZendX _".

Fuente: Convenciones de nomenclatura

Una mejor sugerencia sería para comprobar si el directorio raíz '/ Zend', sin embargo, esto excluye cualquier Proyectos donde el desarrollador ha decidido renunciar a las sugerencias anteriores y ha tirado archivos de clase Zend en algún directorio de la librería global.

La mejor conjetura sería a glob recursivamente todos los archivos en el directorio de un proyecto en busca de nombres de clases que coinciden con el espacio de nombres de pseudo sugerido (Zend_ ...).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top