symfony как микрофреймворк

38

Upload: ruslan-hanov

Post on 19-Feb-2017

60 views

Category:

Software


1 download

TRANSCRIPT

Symfony как микрофреймворк

Руслан Ханов

Кто я

и какая у меня проблема?

│Разработчик

› gloryon.ru

› i-teco.ru

› lamoda.ru

│Пользователь

› symfony 1.0-1.4

› symfony 2.0-2.8

› Silex

› бандлы, бандлы, бандлы!

Какая у меня проблема?

5

Я не понимаю для чего нужен

Symfony

как микрофреймворк

6

Symfony 1

Symfony 1.x это

8

Symfony 1.x это

• PHP 5.0

• PEAR

• CVS/SVN

• Apache 1

• Notepad++

9

Symfony 1.x это НЕ

• Composer

• PDO

• PSR

10

Symfony 1.x это

11

Symfony как микрофреймворк

12

MicroKernel

13

Kernel

14

Класс HttpKernel

15

Symfony full stack

16

Kernel это

• Front controller

• Сложный DI

• Routing

• Controllers

• Аннотации

• Файлы конфигураций 17

│Kernel – это комбайн

│Kernel не даст вам MVP

Micro

19

Micro

1. Простой и производительный

2. Один из представителей - Silex

20

Silex это

• Front controller

• Простой DI

• Routing

• Controllers

21

Silex это НЕ

• Аннотации

• Файлы конфигураций

• Сложный DI

22

│Silex даст вам MVP

• Kernel

• Silex

24

Kernel vs Silex

25

Symfony как

микрофреймворк

трейт MicroKernelTrait

27

MicroKernel это

• Front controller

• Сложный DI

• Аннотации

• Файлы конфигураций

• Controllers

28

class MicroKernel extends Kernel {

use MicroKernelTrait;

public function registerBundles() {

return [

new FrameworkBundle(),

];

}

protected function configureContainer(ContainerBuilder $c, LoaderInterface $loader) {

$c->loadFromExtension('framework‘, [’secret‘ => ’secret‘]);

}

protected function configureRoutes(RouteCollectionBuilder $routes) {

$routes->add(‘/‘, 'kernel:indexAction‘, 'index’);

}

public function indexAction() {

return new Response (‘Hello World’);

}

}

require_once ‘autoloader.php‘;

$app = MicroKernel(’prod‘, false);

$app->loadClassCache();

$app->handle(Request::createFromGlobals())->send();

│MicroKernel – это комбайн

│MicroKernel даст вам MVP

MicroKernel в продакшене

MicroKernel в продакшене

• Rapid API Development

• Proxy

• Adapter

• Converter

• CMS

33

MicroKernel в продакшене

34

Kernel и Silex в продакшене

35

MicroKernel не нужен,

Спасибо!

Ханов Руслан

hanovruslan41@

+7-903-538-01-07 hanovruslan

hanov.ruslan