Основные возможности Symfony 2
-
Upload
shevchuk -
Category
Technology
-
view
2.532 -
download
0
description
Transcript of Основные возможности Symfony 2
![Page 1: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/1.jpg)
Фреймворк Symfony2: основные возможности и опыт использования
![Page 2: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/2.jpg)
• Грибанов Антон• Ведущий программист компании Amicus• Выпускник ВлГУ 2007• 5 лет в web-разработке• Опыт использования Symfony 2 - 1 год• [email protected]
2
![Page 3: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/3.jpg)
Что такое фреймворк?
Программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.
Wikipedia
3
![Page 4: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/4.jpg)
Для чего нужен фреймворк?
• Ускоряет разработку• Оберегает от ошибок• Стандартизирует разработку• Облегчает доработку и поддержку
4
![Page 5: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/5.jpg)
Symfony и Symfony2
• Бесплатен• Выпускается фирмой Sensio Labs• Версия 1.0 вышла в 2007 году• Версия 2.0 вышла в 2011 году
5
![Page 6: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/6.jpg)
Что такое Symfony2
• PHP фреймворк• Философия• Сообщество
6
![Page 7: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/7.jpg)
Сильные стороны Symfony2
• Скорость работы• Гибкость• Расширяемость• Стабильность• Ориентированность на разработчика
7
![Page 8: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/8.jpg)
Symfony2 — это набор компонентов
• HttpFoundation — реализует спецификацию http
• Routing — конфигурирует каким образом должны обрабатываться URI
• Form — отвечает за генерацию и обработку форм
• Validator — позволяет задавать правила валидации
• ClassLoader — автозагрузчик классов
• Templating — библиотека для загрузки/рендеринга шаблонов
• Security — библиотека для решения вопросов безопасности в вашем приложении
• Translation — фреймворк для перевода строк в вашем приложении
8
![Page 9: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/9.jpg)
Мощь Symfony2 в бандлах
• Бандл (англ. Bundle) — каталог, содержащий набор файлов (php-скрипты, css-стили,js-скрипты), реализующий один функионал.
• В состав Symfony2 standart edition входит несколько бандлов:
● SensioFrameworkExtraBundle● SensioGeneratorBundle● JMSSecurityExtraBundle● и др.
• http://knpbundles.com9
![Page 10: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/10.jpg)
Как работает Symfony2
10
![Page 11: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/11.jpg)
Структура каталогов приложения на Symfony2
11
![Page 12: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/12.jpg)
Создание страниц
• Необходимо создать свой бандл• Руками• С помощью встроенного генератора:
– php app/console generate:bundle --namespace=Acme/HelloBundle --format=yml
12
![Page 13: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/13.jpg)
Подключение вашего бандла
13
![Page 14: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/14.jpg)
Добавление конфигурации адресов
14
![Page 15: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/15.jpg)
Добавление конфигурации адресов
15
![Page 16: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/16.jpg)
Простейший контроллер
16
![Page 17: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/17.jpg)
Контроллер с использованием шаблонизатора
17
![Page 18: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/18.jpg)
Шаблон twig
18
![Page 19: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/19.jpg)
Общий шаблон twig
19
![Page 20: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/20.jpg)
Более продвинутый роутинг
20
![Page 21: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/21.jpg)
Генерация ссылок
21
![Page 22: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/22.jpg)
Возможности шаблонов twig
22
![Page 23: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/23.jpg)
Работа c БД. Doctrine
• Doctrine DBAL• Doctrine ORM• Doctrine ODM
23
![Page 24: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/24.jpg)
Работа с БД. Doctrine
24
![Page 25: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/25.jpg)
Работа с БД. Doctrine
25
![Page 26: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/26.jpg)
26
![Page 27: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/27.jpg)
Консольные команды Doctrine
• php app/console doctrine:database:create
• php app/console doctrine:generate:entities Acme/StoreBundle/Entity/Product
• php app/console doctrine:schema:update --force
27
![Page 28: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/28.jpg)
Сохранение объектов
28
![Page 29: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/29.jpg)
Выборка объектов из БД
29
![Page 30: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/30.jpg)
Выборка объектов из БД
30
![Page 31: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/31.jpg)
Работа с формами
31
![Page 32: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/32.jpg)
Класс формы
32
![Page 33: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/33.jpg)
Рендеринг формы в шаблоне
33
![Page 34: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/34.jpg)
Рендеринг формы в шаблоне
34
![Page 35: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/35.jpg)
Обработка формы
35
![Page 36: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/36.jpg)
Сохранение данных из формы в БД
36
![Page 37: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/37.jpg)
Компонент Security
37
![Page 38: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/38.jpg)
Компонент Security
38
![Page 39: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/39.jpg)
Компонент Security
39
![Page 40: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/40.jpg)
Компонент Security
40
![Page 41: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/41.jpg)
Компонент Security
41
![Page 42: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/42.jpg)
Удобные аннотации
42
![Page 43: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/43.jpg)
Удобные аннотации
43
![Page 44: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/44.jpg)
Еще компоненты
• Translation• Validation• Service Container• Twig• Monolog• SwitfMailer
44
![Page 45: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/45.jpg)
Тулбар для отладки
45
![Page 46: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/46.jpg)
Панель Config
46
![Page 47: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/47.jpg)
Панель Request
47
![Page 48: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/48.jpg)
Панель Events
48
![Page 49: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/49.jpg)
Панель Logs
49
![Page 50: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/50.jpg)
Панель Security
50
![Page 51: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/51.jpg)
Панель Doctrine
51
![Page 52: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/52.jpg)
Ресурсы по Symfony2
• http://symfony.com/
• http://groups.google.com/group/symfony2
• http://symfony-gu.ru/ru/
• http://habrahabr.ru/tag/symfony2/
• http://blog.stfalcon.com/category/work/programming/symfony2/
52
![Page 53: Основные возможности Symfony 2](https://reader035.fdocument.pub/reader035/viewer/2022081719/557af4bcd8b42a1a358b54a3/html5/thumbnails/53.jpg)
Вопросы?
53