¿Cómo saber que un proyecto php es el uso de Zend Framework?
-
23-09-2019 - |
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?
Solución
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_ ...).