Первые шаги с Composer и Joomla Framework
Если вы следили за различными обсуждениями Joomla на тему отдельного фреймворка, то имеете представления о том, что же такое Joomla Framework. Мы также касались этой темы в статье Разница между Joomla Framework и Joomla Platfrom. В этой статье речь пойдет о том, как легко можно начать разработку своего веб-приложения с помощью Composer и Joomla Framework.
Общая информация
Joomla Framework – это набор файлов, которые разработчик может использовать для создания веб-приложений. Пример других таких фреймворков: Laravel, Symfony, Yii, Codeigniter, CakePHP и т.п. Эти фреймворки предоставляют начальную точку разработки и общий набор классов и функций для значительного уменьшения времени этой разработки. Такие инструменты также называют как инструменты для быстрой разработки приложений (Rapid Application Development tools).
Composer
Composer – это менеджер зависимостей для PHP. Не беспокойтесь, если это определение не до конца вам понятно. Все на самом деле довольно просто. Чтобы понять, что такое Composer, давайте сравним его с примером из реальной жизни. Недавно я (David Hurley) хотел сделать сюрприз моей жене. Для этого я пошел к знакомому флористу и сказал ему, что мне нужен букет, который понравился бы моей жене. Я знаю, что моей жене нравятся теплые цвета, желтый, оранжевый, темно-красный; поэтому я попросил флориста собрать букет из этих цветов. Я не пошел за стойку и не стал выбирать цветы собственноручно, я даже не указал, какие именно цветы мне нужны. Все эти детали я оставил для флориста.
Composer работает практически также. Я "говорю" ему, что я хочу видеть в своем проекте (например, Bootstrap, jQuery и т.д.), а Composer собирает за меня каждый из этих пакетов в мой проект. Я не ищу эти пакеты сам, мне даже не нужно сообщать Composer, какая версия мне нужна (хотя если бы я хотел, я бы мог указать конкретную версию). Надеюсь, вас стало понятней, что такое Composer. И так же как с флористом, я могу попросить Composer вернуться и сделать это снова. Composer снова скачает все пакеты, обновит, заменит или добавит новые пакеты в любой момент времени. Это несомненно полезно!
Итак, в любой момент времени вы можете обновить любой или все пакеты напрямую от создателя, не делая ничего, кроме как указывая Composer сделать это. Так как на сайте Composer есть очень хорошая документация по его установке, я просто дам ссылку на их сайт. Установка не займет много времени, и вы можете с легкостью установить его на Linux, Windows или Mac.
Остановитесь на разделе “Using Composer” и вернитесь обратно к этой статье.
Командная строка
Терминал командной строки является мощным инструментом, и не стоит его боятся. Если вы прошли установку Composer (вы уже сделали это, не так ли?), то вы уже использовали командную строку. Команды, которые мы будем использовать, достаточно просты:
composer install
Эта команда для инициализации проекта.
composer update
Эта команда для обновления проекта.
Сейчас мы будем работать только с этими двумя командами. Видите? Я же говорил, что это будет легко.
Структура пакетов
Теперь вы знаете, что такое Composer, у вас есть базовые понятия о его функциональности, и вы немного изучили интерфейс командной строки. Следующий шаг – это понять, как создается пакет Composer. Ниже указаны необходимые элементы для пакета Composer:
composer.json
Именно так – всего один файл. Этот файл является списком запросов для вашего "букета", который должен собрать для вас Composer. Вот сниппет из этого файла:
"require": { "php": ">=5.3.10", "joomla/framework": "dev-master", "symfony/http-foundation": "2.3.*@stable", "twig/twig" : "1.*", "twitter/bootstrap":"dev-master" }
Как видите, мы просто говорим Composer, какие пакеты нам нужны и Composer делает за нас все остальное. Вот как это работает. Откройте терминал или любой другой инструмет командной строки и пройдите в папку, где находится ваш composer.json файл. Как только вы попали в папку с composer.json файлом, дайте задание Composer начать работу. Наберите:
composer install
Эта команда скажет Composer взять composer.json файл из этой папки и приступить к работе. Все так просто. Расслабьтесь и ждите, так как это может занять некоторое время в зависимости от того, сколько пакетов вы запрашиваете. В окне терминала вы увидите, как Composer подключается к репозиториям, скачивает файлы и помещает их в нужные папки. Все это делает вашу жизнь разработчика проще!
Если вы хотите познакомиться с Composer поближе, то советую Вам прочитать статью Composer — менеджер зависимостей для PHP (прим. переводчика).
Joomla Framework
К этому времени вы, скорее всего уже поняли, что Joomla Framework является пакетом, который доступен в Composer. Если вы хотите использовать Joomla Framework в своем проекте, вы добавляете одну строку в свой composer.json файл и Composer скачает и установит эти файлы для их использования.
Пример веб-приложения
Лучший способ понять, как использовать Joomla Framework и Composer, это живой пример. Я создал простое веб-приложение, которое вы можете скачать на GitHub.
Пример Composer файла
Скачайте указанный выше репозиторий и распакуйте его в корневую веб-папку вашего сервера. Вы найдете папки App, www, файл composer.json и несколько других файлов. Сразу же удалите файл composer.lock, так как он будет мешать процессу скачивания пакетов. Файл composer.json вам уже знаком. Откройте его и вы увидите различные пакеты, которые будут установлены, когда вы запустите Composer. Откройте терминал, пройдите в эту папку и запустите Composer:
composer install
Подождите, пока Composer обработает ваш запрос, и потом обновите папку с проектом. Вы увидите, что были созданы новые директории, среди которых директория vendor, в которую установились все пакеты. Откройте веб-браузер и перейдите в папку www. Должен загрузиться сайт и теперь вы готовы к разработке веб-приложения с помощью Joomla Framework.