Основные возможности symfony 2

53
Фреймворк Symfony2: основные возможности и опыт использования

Upload: shevchuk

Post on 12-Jun-2015

2.544 views

Category:

Technology


0 download

DESCRIPTION

Презентация для семинара http://youtu.be/u3syUS-qxG4 Автор: Грибанов А.В.

TRANSCRIPT

Page 1: Основные возможности Symfony 2

Фреймворк Symfony2: основные возможности и опыт использования

Page 2: Основные возможности Symfony 2

• Грибанов Антон• Ведущий программист компании Amicus• Выпускник ВлГУ 2007• 5 лет в web-разработке• Опыт использования Symfony 2 - 1 год• [email protected]

2

Page 3: Основные возможности Symfony 2

Что такое фреймворк?

Программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.

Wikipedia

3

Page 4: Основные возможности Symfony 2

Для чего нужен фреймворк?

• Ускоряет разработку• Оберегает от ошибок• Стандартизирует разработку• Облегчает доработку и поддержку

4

Page 5: Основные возможности Symfony 2

Symfony и Symfony2

• Бесплатен• Выпускается фирмой Sensio Labs• Версия 1.0 вышла в 2007 году• Версия 2.0 вышла в 2011 году

5

Page 6: Основные возможности Symfony 2

Что такое Symfony2

• PHP фреймворк• Философия• Сообщество

6

Page 7: Основные возможности Symfony 2

Сильные стороны Symfony2

• Скорость работы• Гибкость• Расширяемость• Стабильность• Ориентированность на разработчика

7

Page 8: Основные возможности Symfony 2

Symfony2 — это набор компонентов

• HttpFoundation — реализует спецификацию http

• Routing — конфигурирует каким образом должны обрабатываться URI

• Form — отвечает за генерацию и обработку форм

• Validator — позволяет задавать правила валидации

• ClassLoader — автозагрузчик классов

• Templating — библиотека для загрузки/рендеринга шаблонов

• Security — библиотека для решения вопросов безопасности в вашем приложении

• Translation — фреймворк для перевода строк в вашем приложении

8

Page 9: Основные возможности Symfony 2

Мощь Symfony2 в бандлах

• Бандл (англ. Bundle) — каталог, содержащий набор файлов (php-скрипты, css-стили,js-скрипты), реализующий один функионал.

• В состав Symfony2 standart edition входит несколько бандлов:

● SensioFrameworkExtraBundle● SensioGeneratorBundle● JMSSecurityExtraBundle● и др.

• http://knpbundles.com9

Page 10: Основные возможности Symfony 2

Как работает Symfony2

10

Page 11: Основные возможности Symfony 2

Структура каталогов приложения на Symfony2

11

Page 12: Основные возможности Symfony 2

Создание страниц

• Необходимо создать свой бандл• Руками• С помощью встроенного генератора:

– php app/console generate:bundle --namespace=Acme/HelloBundle --format=yml

12

Page 13: Основные возможности Symfony 2

Подключение вашего бандла

13

Page 14: Основные возможности Symfony 2

Добавление конфигурации адресов

14

Page 15: Основные возможности Symfony 2

Добавление конфигурации адресов

15

Page 16: Основные возможности Symfony 2

Простейший контроллер

16

Page 17: Основные возможности Symfony 2

Контроллер с использованием шаблонизатора

17

Page 18: Основные возможности Symfony 2

Шаблон twig

18

Page 19: Основные возможности Symfony 2

Общий шаблон twig

19

Page 20: Основные возможности Symfony 2

Более продвинутый роутинг

20

Page 21: Основные возможности Symfony 2

Генерация ссылок

21

Page 22: Основные возможности Symfony 2

Возможности шаблонов twig

22

Page 23: Основные возможности Symfony 2

Работа c БД. Doctrine

• Doctrine DBAL• Doctrine ORM• Doctrine ODM

23

Page 24: Основные возможности Symfony 2

Работа с БД. Doctrine

24

Page 25: Основные возможности Symfony 2

Работа с БД. Doctrine

25

Page 26: Основные возможности Symfony 2

26

Page 27: Основные возможности Symfony 2

Консольные команды 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

Сохранение объектов

28

Page 29: Основные возможности Symfony 2

Выборка объектов из БД

29

Page 30: Основные возможности Symfony 2

Выборка объектов из БД

30

Page 31: Основные возможности Symfony 2

Работа с формами

31

Page 32: Основные возможности Symfony 2

Класс формы

32

Page 33: Основные возможности Symfony 2

Рендеринг формы в шаблоне

33

Page 34: Основные возможности Symfony 2

Рендеринг формы в шаблоне

34

Page 35: Основные возможности Symfony 2

Обработка формы

35

Page 36: Основные возможности Symfony 2

Сохранение данных из формы в БД

36

Page 37: Основные возможности Symfony 2

Компонент Security

37

Page 38: Основные возможности Symfony 2

Компонент Security

38

Page 39: Основные возможности Symfony 2

Компонент Security

39

Page 40: Основные возможности Symfony 2

Компонент Security

40

Page 41: Основные возможности Symfony 2

Компонент Security

41

Page 42: Основные возможности Symfony 2

Удобные аннотации

42

Page 43: Основные возможности Symfony 2

Удобные аннотации

43

Page 44: Основные возможности Symfony 2

Еще компоненты

• Translation• Validation• Service Container• Twig• Monolog• SwitfMailer

44

Page 45: Основные возможности Symfony 2

Тулбар для отладки

45

Page 46: Основные возможности Symfony 2

Панель Config

46

Page 47: Основные возможности Symfony 2

Панель Request

47

Page 48: Основные возможности Symfony 2

Панель Events

48

Page 49: Основные возможности Symfony 2

Панель Logs

49

Page 50: Основные возможности Symfony 2

Панель Security

50

Page 51: Основные возможности Symfony 2

Панель Doctrine

51

Page 52: Основные возможности Symfony 2

Ресурсы по 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

Вопросы?

53