Как узнать, что проект PHP использует платформу Zend?

StackOverflow https://stackoverflow.com/questions/2542573

  •  23-09-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

alt text

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

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

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

Другие советы

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

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

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

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

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

Кроме того, библиотечный каталог обычно содержит каталог под названием «Zend».

А теперь из Справочного руководства программиста Zend:

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

Имена классов могут содержать только буквенно -цифровые символы.Числа разрешены в именах классов, но в большинстве случаев не поощряются.Подчеркивание разрешено только вместо сепаратора пути;Имя файла "Zend/db/table.php" должен составить карту с именем класса "zend_db_table".

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top