Top Banner
Symfony
38

2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Jul 16, 2015

Download

Education

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Symfony

Page 2: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Get started

l Download installerl Run 'symfony new <project_name>'l Run 'app/console server:run'l Open in browser '127.0.0.1:8000'

Page 3: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

MVC или не MVC?

l Fabien:l “... Symfony2 is never defined as being an MVC framework. Why?

l Because I really don't care whether Symfony2 is MVC or not. The separation of concerns is all I care about. … Symfony2 is really about providing the tools for the Controller part, the View part, but not the Model part”

l http://fabien.potencier.org/article/49/what-is-symfony2

Page 4: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Request/Response framework

Page 5: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Request

Page 6: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Response

Page 7: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Response statuses

Page 8: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony
Page 9: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony
Page 10: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony
Page 11: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony
Page 12: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Bundles

l Пару слов о бандлах (бандл – боевая

единица проекта; помогает логически

разделять приложение на функциональные

части (примеры: SonataAdminBundle,

FOSRestBundle, FOSUserBundle))

Page 13: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Аналоги бандлов

l Плагины в rails (или CakePHP)l Extensions в YIIl Модули в Zend

Page 14: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Конфигурация

l Yml по умолчанию для файлов конфигурации

l Благодаря yml конфигурация представляет собой простое описание (то есть описательные вещи описываются, а не программируются)

Page 15: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony
Page 16: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony
Page 17: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Так что же там с моделями?

l Doctrine - по умолчаниюl http://www.doctrine-project.org/

l Propel – по желаниюl http://propelorm.org/

Page 18: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Что есть в Doctrine?

l - генерация CRUDl - генерация сущности из yaml описанияl - миграцииl - ...

Page 19: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

app/console | grep doctrine

Page 20: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Mapping with Annotations

Page 21: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Mapping with Yaml

Page 22: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Mapping with XML

Page 23: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Сурвисы и DI

Page 24: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Sample service

Page 25: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony
Page 26: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Использование

Page 27: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

События

l Урощают жизнь, если использовать по назначению

Page 28: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

KernelException event

Page 29: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony
Page 30: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony
Page 31: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Типичные ошибки

l Тяжелые контроллеры

l Тяжелые сущности

l Непонимание soa концепта и его

преимуществ

l Общее для всех фреймворков –

невнимательность к деталям

Page 32: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Пример

Page 33: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony
Page 34: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Хаки

l Формыl dql

Page 35: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

++

l (Плюсы)

Page 36: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

l (Минусы)

Page 37: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

Еще

l http://pooteeweet.org/blog/2205

l http://fabien.potencier.org/

l http://stackoverflow.com/search?q=symfony

Page 38: 2014-04-04 02 Алексей Анисимов. Вводный доклад о symfony

l Алексей Анисимов

[email protected]