При разработке приложений не обойтись без тестирования. От самого простого на phpunit до тестирования человеком. В данной статье мы рассмотрим как установить, настроить phpunit для Osx.
В предыдущей статье Использование Component в Symfony2 мы рассматривали как использовать Component для менеджера зависимостей. Есть несколько недостатков, которые не позволяют нам всегда его использовать. Рассмотрим вариант использования composer для управления зависимостями библиотек из bower и npm.
В статье Менеджеры Js/Css библиотек мы рассматривали какие есть варианты использования менеджеров зависимости. В данной статье мы рассмотрим как использовать Component для Symfony2.
Недавно вышла OS X El Capitan, давайте обновим систему. Систему будем устанавливать с usb-flash. Из рабочего окружения мы поставим php, nginx, mariadb, mongodb, elasticsearch, nodejs используя brew и настроем проект на symfony2.
В процессе разработки, нам необходимо использовать стороние библиотеки, и соответсвенно необходимо централизованно их устанавливать. Прошли те времена когда для того чтобы поставить библиотеку, надо было скачать скрипты и распаковать их себе в проект. Сейчас для этого используют менеджеры библиотек, их очень много например: Сomposer, Bower, Npm, Component и другие.
В проектах на Symfony2 используется Composer, но им не очень удобно устанавливать js/css библиотеки, поскольку все библиотеки ставятся в папку которая не должна быть доступна из браузера. Мы рассмотрим какими способами в Symfony2 проекте можно ставить js/css библиотеки, некоторые способы подойдут любому проекту в котором используется Composer.
E-comerce достаточно быстро развивается, существует очень много движков для создания интернет магазина. Есть те, которые Вы можете развернуть у себя на хостинге. Есть сервисы для создания интернет магазина, которые берут определенную плату. В данной статье я рассмотрю движки для интернет магазина основанные на Symfony2, это будут Sylius, Thelia и Sonata, все три open source и соответственно бесплатны. Изначально я думал, что остановлюсь Sylius, и скажу вот он идеал, но в итоге рассмотрел все три, поскольку Sylius не всегда лучший вариант. Обзор предварительный и основан на своем субъективном мнении, так же не буду рассматривать проблемы при установке и их решение.
Мы иногда видим сайты с обратным отсчетом, проект стартует через … Его сделать достаточно просто, и не займет много времени. Мы воспользуемся проектом fdevs/coming-soon, который основан на Symfony2. Также будем сохранять введеный пользователями адреса электронной почтой в базу данных MongoDB. У нас есть настроенное рабочее окружение Osx, о настройке можно прочитать в статье Yosemite настройка рабочего окружения. Но главное версия php не меньше 5.4. В проекте можно также использовать реляционную базу данных типа MySQL. По умолчанию в проекте вообще не используется база данных, а введеный email отправляется на почту.
При разработке, и тем более поддержке действующего проекта на Symfony 2 одной из задач, которые приходится постоянно делать, это выгрузка изменений на сервер: рабочей или тестовой. Но так как программисты народ достаточно ленивый, чтобы автоматизировать повторяющиеся монотонные задачи, есть достаточное количество инструментов для облегчения данного процесса. Для Symfony2 мы используем Сapifony. Он основан на Capistrano но оптимизирован для Symfony.
После обновления OSx Yosemite, необходимо настроить рабочую систему. Мы установим и настроим пакеты php-fpm, nginx, mongo, nodejs. Для начала установим Xcode из App Store обновим консольные команды $ xcode-select --install и уберем apache из автозагрузки $ sudo launchctl unload /System/Library/LaunchDaemons/org.apache.httpd.plist . Так как у Apple не появилось своего менеджера пакетов будем использовать проверенный brew.