Что такое Symfony?
Клевый ответ на этот вопрос на сайте разработчиков: "Symfony - это PHP Web Development framework. Что тут неясно? А если неясно, то проще считай, что это религия!" (framework + philosophy+comunity)
Не веришь? Можешь сам перевести отсюда http://symfony.com/what-is-symfony :)
Попробую пройти "обряд крещения". Как обычно расписано по шагам для старичков с хреновой памятью типа меня :)
Вот инструкция по установке и использованию. Я просто следовал ей.
Я проделывал это на двух компах, у которых путь установки проекта отличается именем замапленного диска. Отсюда и разные пути в тексте и скриншотах.
1. Установка
Модный способ - через композер. Как поставить композер, описано здесь.В рутовой папке проекта (у меня это w:\home\calculator\www) запустить такое (я запускал из гитового баша как обычно):
php composer.phar create-project symfony/framework-standard-edition Symfony/
Нифига не заработало на домашнем компе, но заработало на рабочем. Поэтому следующий вариант такой:
Скачиваю отсюда http://symfony.com/download Symfony Standart и распаковываю в рутовую папку. В руте у меня появится папка Symfony
w\|-calculator
|-www
|-Symfony
Запускаю в папочке w:\calculator\www\Symfony (с баш строки как обычно)
php bin/vendors install
далее идет непериводимая игра слов выдаваемых скриптом и гитом.
Появилась папочка vendor. Сюда Symfony понапихивало массу полезностей.
Все эти полезности описаны в файлике Symfony\deps. На 11м слайде презенташки можно увидеть как он выглядит.
Проверяю. Открываю в браузере * http://www.calculator/Symfony/web/config.php. Вижу страничку конфига.
* www.calculator я добавил в файл Windows\System32\drivers\etc\hosts. Подробнее здесь.
Тут он мне предлагает поделать всякие усовершенствования типа поставить акселератор, что-то поменять в php.ini. Естественно забиваю на эти сообщения - они мне жить пока не мешают.
2. Создаю свое приложение.
Тут я перепрыгнул на слайд 32. Сначала хочу создать приложение, а потом залить его в git.
Создаю бандл
в папке Symfony запускаю php app/console generate:bundle
Ввожу имя нейпспейса (Tdd/CalculatorBundle) и имя бандла (Calculator).
Дальше куча вопросов, на которые просто жимаю <Enter>
Бандл - это директория со всем, что нужно для фичи. Вот такое мне сгенерилось:
3. Смотрим на тесты
Генератор бандлов также создал папку с тестами
В ней находится один тест на контроллер
Запустить этот тест вместе со сьютом можно из корневой папки Symfony. Запускаю команду
phpunit -c app/
параметр -c указывает конфигурационный файл для phpunit.
Почему надо запускать тесты с опцией -c?
Тест на контроллер создает и запускает симфонийский кернел со всеми зависимостями. В файле app/phpunit.xml.dist есть ссылка на bootstrap, который делает предварительную инициализацию окружения.
Настройки Netbeans для запуска тестов
Чтобы мои тесты запускались прямо в Netbeans я сделал следующее:
- Указал где лежат тесты (окно Project properties, пункт Sources)
- Выбрал phpunit.xml.dist в качестеве XML Configuration для тестов (окно Project properties, пункт PHPUnit)
Теперь мои тесты запускаются также из ИДЕ:
Добро пожаловать в symfony комьюнити :)
ReplyDeleteСоветую попробовать Codelobster
ReplyDeleteТам есть специальный визард для Симфонии.