Как узнать, что php-проект использует Zend Framework? - PullRequest
0 голосов
/ 30 марта 2010

Я пишу небольшую программу, которая просматривает папки и файлы всех проектов php, которые передаются, и определяет, действительно ли какой-либо из них является проектом Zend. Есть ли какой-нибудь конкретный файл, который я могу сразу прочитать и сказать, что текущий проект является проектом Zend? или есть какой нибудь удобный способ рассказать?

Ответы [ 2 ]

5 голосов
/ 31 марта 2010

Я не думаю, что приведенный выше ответ идет в правильном направлении. Для начала

Zend Framework часто называют «библиотека компонентов», потому что она имеет много слабосвязанных компонентов, которые Вы можете использовать более или менее независимо друг от друга.

Источник: Zend Framework & MVC Введение

Предполагать, что стандартное использование будет включать в себя как предлагаемую структуру MVC, так и zftool для создания проектов, является ошибочным предположением, поскольку многие проекты вручную выбирают подмножество компонентов Zend, чтобы минимизировать занимаемую теперь 45 МБ площадь.

Вместо этого, давайте посмотрим на точку Томас намекал в своем ответе выше:

Кроме того, каталог библиотеки будет обычно содержат каталог с именем 'Zend'.

А теперь из справочника Zend's Programmer:

Zend Framework стандартизирует класс соглашение об именах, согласно которому имена классы напрямую отображаются на каталоги, в которых они хранятся. Корневой каталог уровня ... является Каталог "Zend /" ... Весь Zend Каркасные классы хранятся иерархически под этим корнем каталоги ..

Имена классов могут содержать только буквенно-цифровые символы. Числа разрешено в именах классов, но обескуражен в большинстве случаев. подчеркивания разрешены только вместо разделитель пути; имя файла «Zend / Db / Table.php» должен отображаться на имя класса "Zend_Db_Table".

Важно: код, который необходимо развернуть наряду с библиотеками Zend Framework, но не является частью стандарта или дополнений библиотеки (например, код приложения или библиотеки, которые не распространяются Zend) никогда не должен начинаться с "Zend_" или "ZendX _".

Источник: Соглашения об именах

Лучшим предложением было бы проверить наличие корневого каталога '/ Zend', однако это исключает любые проекты, в которых разработчик решил отказаться от вышеуказанных предложений и выбросил файлы классов Zend в какой-то глобальный каталог библиотеки.

Лучше всего было бы рекурсивно отбрасывать все файлы в каталоге проекта в поисках имен классов, соответствующих предлагаемому псевдо-пространству имен (Zend_ ...).

1 голос
/ 30 марта 2010

альтернативный текст http://i39.tinypic.com/2i0b0yg.png

Это структура каталогов по умолчанию, которую ZF создает для вас при запуске проекта. Так что, если вы просто смотрите на структуру каталогов, это должно сработать.

В качестве альтернативы вы можете посмотреть, есть ли в каталоге скрытый файл с именем .zfproject.xml.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...