Мастер PHP | Maven и PHP

  1. Установить Maven
  2. Создайте свой первый проект
  3. Eclipse Integration
  4. Резюме

Apache Maven - это инструмент автоматизации сборки, предназначенный для создания, составления отчетов и создания документации по проектам. Он строит проекты с использованием объектной модели проекта (POM) и набора плагинов, общих для всех проектов, использующих Maven, тем самым обеспечивая единую систему сборки. Когда вы ознакомитесь с тем, как создается один проект Maven, вы автоматически узнаете, как создаются все проекты Maven. Это сэкономит вам огромное количество времени от попыток навигации по процессу сборки различных проектов.

В этой статье вы познакомитесь с Maven для PHP, а также с тем, как установить и использовать плагин PHP-Maven из командной строки и в Eclipse.

Установить Maven

PHP-Maven использует возможности Maven для создания, составления отчетов и создания документации ваших проектов PHP. Он адаптирует жизненный цикл сборки Maven к миру PHP, полностью поддерживая PHP 5. PHP-Maven использует PHPUnit для модульного тестирования и PhpDocumentor для создания проектной документации.

Чтобы установить Maven:

  1. Скачать Maven из http://maven.apache.org/download.cgi , Для этой статьи версия 3.0.4.
  2. Распакуйте архив в любое место, где вы хотите хранить двоичные файлы, и папка с именем apache-maven- <версия> будет создана.
  3. Добавьте его папку bin в вашу PATH.
  4. Убедитесь, что JAVA_HOME настроен на местоположение вашего JDK.

После того, как вы выполнили вышеуказанные шаги, чтобы проверить, правильно ли установлен Maven или нет, вы должны запустить mvn --version из командной строки.

После успешной установки Maven перейдите в файл settings.xml (находится в ~ / .m2 в Unix / Mac OS X и в C: Documents and Settingsusername.m2 в Windows) и добавьте репозиторий PHP для Maven. Если файл settings.xml отсутствует, его необходимо создать.

Ниже приведен пример файла settings.xml:

<настройки> <профили> <профиль> <id> profile-php-maven </ id> <pluginRepositories> <pluginRepository> <id> release-repo1.php-maven.org </ id> <name> PHP-Maven 2 Репозиторий релизов </ name> <url> http://repos.php-maven.org/releases </ url> <release> <enabled> true </ enabled> </ Release> </ pluginRepository> <pluginRepository> <id > snapshot-repo1.php-maven.org </ id> <name> Хранилище снимков PHP-Maven 2 </ name> <url> http://repos.php-maven.org/snapshots </ url> <Release> <enabled> false </ enabled> </ release> <snapshots> <enabled> true </ enabled> </ snapshots> </ pluginRepositories> </ pluginRepositories> <repositories> <repository> <id> release-repo1.php- maven.org </ id> <name> Репозиторий релизов PHP-Maven 2 </ name> <url> http://repos.php-maven.org/releases </ url> <release> <enabled> true </ enabled > </ release> </ repository> <repository> <id> snapshot-repo1.php-maven.org </ id> <name> Репозиторий моментальных снимков PHP-Maven 2 </ name> http: // repos. php-maven.org/snapshots </ url> <release> <enabled> false </ enabled> </ Release> <снимки ts> <enabled> true </ enabled> </ snapshots> </ repository> </ repositories> </ profile> </ profile> <activeProfiles> <activeProfile> profile-php-maven </ activeProfile> </ activeProfiles> < / настройки>

Создайте свой первый проект

Для создания простого проекта из командной строки я буду использовать Maven Архетип Плагин , Плагин Archetype позволяет пользователю создать проект Maven из существующего шаблона, называемого архетипом. Вы можете запустить плагин Maven Archetype с помощью команды mvn archetype: generate для создания нового проекта из архетипа в папке, соответствующей его идентификатору артефакта.

Maven начнет загрузку всех зависимостей, необходимых для вашего компьютера. В какой-то момент Maven попросит вас определить значение для groupId, artifactId, version и package, как вы видите здесь:

Обратите внимание, что на официальном Страница плагина Maven Archetype Вы найдете все доступные параметры вместе с их описанием.

После успешного создания вашего первого проекта вы должны найти следующее в соответствующей папке, в моем случае Octavia_project:

После успешного создания вашего первого проекта вы должны найти следующее в соответствующей папке, в моем случае Octavia_project:

  • src / main / php - содержит исходный код проекта.
  • src / test / php - содержит тестовый код проекта.
  • src / site - содержит дескриптор сайта проекта.
  • pom.xml - содержит описание POM проекта.

Содержимое pom.xml выглядит так:

<? xml version = "1.0" encoding = "UTF-8"?> <project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns: xsi = "http: //www.w3 .org / 2001 / XMLSchema-instance "xsi: schemaLocation =" http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <parent> <groupId> org.phpmaven </ groupId> <artifactId> php-parent-pom </ artifactId> <версия> 2.0.2 </ version> </ parent> <modelVersion> 4.0.0 </ modelVersion> < groupId> org.phpsample </ groupId> <artifactId> Octavia_project </ artifactId> <packaging> php </ packaging> <версия> 1.0-SNAPSHOT </ version> <build> <плагины> <plugin> <groupId> org.phpmaven </ groupId> <artifactId> maven-php-plugin </ artifactId> <extensions> true </ extensions> </ plugin> <plugin> <groupId> org.apache.maven.plugins </ groupId> <artifactId> maven- site-plugin </ artifactId> <версия> 3.0 </ version> <конфигурация> <reportPlugins> <plugin> <groupId> org.phpmaven </ groupId> <artifactId> maven-php-plugin </ artifactId> <reportSets> < reportSet> <reports> <report> phpdocumentor </ report> <report> phpunit-покрытие </ repor t> <report> phpunit </ report> </ reports> </ reportSet> </ reportSets> </ plugin> </ reportPlugins> </ configuration> </ plugin> </ plugins> </ build> <зависимости> < ! - phpUnit для PHP 5 -> <зависимость> <groupId> de.phpunit </ groupId> <artifactId> PHPUnit </ artifactId> <версия> 3.6.10 </ версия> <тип> phar </ type> < / зависимость> </ зависимости> </ проект>

Этап тестирования наступает после создания приложения, и для этого вам нужна зависимость PHPUnit. Если он отсутствует, обязательно добавьте его в файл pom.xml, как показано выше.

Тесты PHPUnit должны быть помещены в папку src / test / php, а тест должен называться Somthing Test.php, то есть суффикс «Test.php» является обязательным. Мой тест, MyTest.php, указан ниже:

<? php класс MyTest extends PHPUnit_Framework_TestCase {public function testBar () {include "org / sample / app.php"; $ this-> fail ("мы потерпим неудачу"); }}

Для выполнения теста вы используете команду mvn test. В официальной документации есть раздел Как игнорировать провальные тесты , и вы можете найти там некоторые команды, которые могут помочь вам запустить ваш тест. (Единственная команда, которая фактически работала для меня, была той, которая выполнила единственный тест.)

)

Чтобы создать свой только что созданный проект Maven, вы запускаете команду mvn: package. Вы снова заметите, что Maven автоматически начинает загрузку любых зависимостей, необходимых для вашего проекта.

После загрузки всех необходимых зависимостей и выполнения действий по сборке вы должны получить следующее сообщение об успехе:

Для создания документации из проекта вам понадобится Пакет phpDocumentor 2 PEAR , В папке src / site создайте файл site.xml со следующим содержимым:

<? xml version = "1.0" encoding = "ISO-8859-1"?> <project name = "Maven"> <version position = "left" /> <skin> <groupId> org.apache.maven.skins < / groupId> <artifactId> maven-stylus-skin </ artifactId> <версия> 1.0 </ version> </ skin> <body> <links> <item name = "PHP-Maven" href = "http: // www .php-maven.org / "/> </ links> <menu name =" Main "> <item name =" Welcome "href =" index.html "/> </ menu> <menu ref =" reports "/ > </ body> </ project>

Затем запустите команду mvn site, и вы найдете результаты в папке target / site.

Eclipse Integration

Плагин php-maven поддерживает интеграцию с Eclipse IDE, но по умолчанию не содержит плагин php-maven. Вы должны интегрировать это вручную. Для этого выполните следующие действия:

  1. В меню «Справка» выберите «Установить новое программное обеспечение» и нажмите кнопку «Добавить…».
  2. В окне «Добавить репозиторий» введите имя: «Сайт обновления PHPMaven» и URL-адрес http://www.php-maven.org/eclipse/update .
  3. Сайт обновления PHPMaven указан в списке, и вы можете выбрать опцию PHP-Maven.
  4. Нажмите Next / Finish, чтобы установить плагины.

Нажмите Next / Finish, чтобы установить плагины

После установки вы найдете опцию проекта PHP-Maven при создании нового проекта. Выберите его и нажмите Далее, чтобы установить плагин.

Чтобы создать новый проект в Eclipse, выберите «Файл»> «Новый»> «Другой» (или нажмите комбинацию CTRL + N), и вы должны увидеть что-то похожее на изображение ниже:

Чтобы создать новый проект в Eclipse, выберите «Файл»> «Новый»> «Другой» (или нажмите комбинацию CTRL + N), и вы должны увидеть что-то похожее на изображение ниже:

После нажатия кнопки «Далее» вы получите список различных архетипов.

После нажатия кнопки «Далее» вы получите список различных архетипов

Выберите свой артефакт, и вам будет предложено ввести информацию о проекте, как и ранее в командной строке.

Выберите свой артефакт, и вам будет предложено ввести информацию о проекте, как и ранее в командной строке

Новый проект будет добавлен на вкладку Project Explorer. Структура папок в основном аналогична структуре проекта, созданного из командной строки.

После создания проекта щелкните правой кнопкой мыши по нему, и вы увидите опцию PHP-Maven в нижней части меню, а ее дочерние элементы перечисляют наиболее важные фазы проекта PHP-Maven.

Резюме

В этой статье вы узнали, как установить и использовать плагин PHP-Maven из командной строки и в Eclipse. Maven for PHP - это эффективный инструмент автоматизации сборки для платформы PHP. Используя Maven, пользователю нужно только предоставить конфигурацию для проекта, в то время как настраиваемые плагины выполняют работу по компиляции проекта, запуску модульных тестов, созданию документации API и так далее. Maven для PHP быстро станет необходимым инструментом в наборе инструментов разработчика PHP.

Изображение через Fotolia

Encoding = "UTF-8"?
Encoding = "ISO-8859-1"?