Pergunta

Estou escrevendo um pequeno software para passar pelas pastas e arquivos de todos os projetos PHP que são transmitidos e detectar se algum deles também é um projeto ZEND. Existe algum arquivo específico que eu possa ler e dizer imediatamente que o projeto atual é um projeto ZEND? Ou existe alguma maneira conveniente de contar?

Foi útil?

Solução

alt text

Esta é a estrutura de diretório padrão que o ZF cria para você quando você inicia um projeto. Portanto, se você está apenas olhando para a estrutura do diretório, isso deve funcionar.

Como alternativa, você pode ver se um diretório possui um arquivo oculto chamado .zfproject.xml.

Espero que ajude!

Outras dicas

Eu não acho que as cabeças de resposta acima na direção certa. Começar,

O Zend Framework é frequentemente chamado de 'biblioteca de componentes', porque possui muitos componentes frouxamente acoplados que você pode usar mais ou menos independentemente.

Fonte: ZEND Framework & MVC Introdução

Supondo que o uso padrão inclua a estrutura MVC sugerida e o ZFTOOL para a criação de projetos, é uma suposição ruim, porque muitos projetos escolhem um subconjunto de componentes do Zend para minimizar a pegada de classe agora de 45 MB.

Em vez disso, vejamos um ponto Thomas sugeriu em sua resposta acima:

Além disso, o diretório da biblioteca geralmente conterá um diretório chamado 'Zend'.

E agora do guia de referência do programador de Zend:

O ZEND Framework padroniza em uma convenção de nomeação de classe, na qual os nomes das classes mapeiam diretamente os diretórios em que são armazenados. O diretório do nível raiz ... é o diretório "Zend/" ... todas as classes da estrutura Zend são armazenadas hierarquicamente sob esses diretórios raiz.

Os nomes de classe podem conter apenas caracteres alfanuméricos. Os números são permitidos em nomes de classe, mas são desencorajados na maioria dos casos. Os sublinhados são permitidos apenas no lugar do separador do caminho; O nome do arquivo "zend/db/tabela.php" deve mapear para o nome da classe "zend_db_table".

IMPORTANTE: O código que deve ser implantado juntamente com as bibliotecas da estrutura Zend, mas não faz parte das bibliotecas padrão ou extras (por exemplo, código de aplicativo ou bibliotecas que não são distribuídas por Zend) nunca devem começar com "zend_" ou "zendx_".

Fonte: Convenções de nomeação

Uma sugestão melhor seria verificar o diretório raiz '/zend', no entanto, isso exclui todos os projetos em que o desenvolvedor decidiu renunciar às sugestões acima e lançou arquivos de classe Zend em algum diretório global da biblioteca.

O melhor palpite seria recursivamente globo todos os arquivos no diretório de um projeto, procurando nomes de classe que correspondam ao pseudo -espaço sugerido (Zend_ ...).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top