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

Post on 12-Jun-2015

2.544 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

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

2

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

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

Wikipedia

3

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

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

4

Symfony и Symfony2

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

5

Что такое Symfony2

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

6

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

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

7

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

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

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

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

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

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

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

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

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

8

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

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

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

● SensioFrameworkExtraBundle● SensioGeneratorBundle● JMSSecurityExtraBundle● и др.

• http://knpbundles.com9

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

10

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

11

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

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

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

12

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

13

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

14

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

15

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

16

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

17

Шаблон twig

18

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

19

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

20

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

21

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

22

Работа c БД. Doctrine

• Doctrine DBAL• Doctrine ORM• Doctrine ODM

23

Работа с БД. Doctrine

24

Работа с БД. Doctrine

25

26

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

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

28

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

29

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

30

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

31

Класс формы

32

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

33

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

34

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

35

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

36

Компонент Security

37

Компонент Security

38

Компонент Security

39

Компонент Security

40

Компонент Security

41

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

42

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

43

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

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

44

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

45

Панель Config

46

Панель Request

47

Панель Events

48

Панель Logs

49

Панель Security

50

Панель Doctrine

51

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

Вопросы?

53

top related