SlideShare a Scribd company logo
1 of 15
Микрофреймворки, Silex и
зачем это нужно
MVC
Фреймворки и микрофреймворки
 Фреймворк (англ. framework — каркас, структура) — структура
программной системы; программное обеспечение,
облегчающее разработку и объединение разных компонентов
большого программного проекта.
 Микрофреймворк – см. выше, только меньше. 
Микрофреймворк
Из чего состоит?
• Базовый роутинг
• Основной иструментарий – самое необходимое
• Обработчики запросов и ошибок
Может также содержать базовую модель и базовый контроллер,
если микрофреймворк все-таки следует концепции MVC
А зачем?
 Простые REST и RPC API
 Надстройки над командной строкой
 Прототипирование больших систем
 Системы maintenance серверов и служб
 Мэйлеры
 Прокси-серверы и промежуточные компоненты приложений
 Сайты-визитки 
 Самые обычные CRUD-системы
 ...и многое другое
Тысячи их
• Slim
• Silex
• Horde
• Limonade
• Phalcon
• Aura
• Wave
• Flight
• Fat-Free Framework (F3)
• Jolt
• Hydra
• FRAPI
• …
Silex
Silex
 Автор – Фабьен Потенсье, он же автор Symfony
 Легко интегрируется с компонентами Symfony
 Предельно простая архитектура
 Доступная и понятная документация
 Управляется через composer (или через PHAR для особых
ценителей)
 Поставляется в двух сборках: fat и slim
 Легкий exception handling
Silex
Silex
Плюсы и минусы
 Плюсы:
 Легкость в освоении и разработке
 Расширяемость
 KISS и ничего лишнего
 Некоторые MF дают существенный прирост производительности
 Минусы:
 Небогатый инструментарий
 Не подходят для крупных энтерпрайз-систем
Расширяемость
 Большинство микрофреймворков удовлетворяют
современным требованиям к платформам
разработки (поддержка Composer, покрытие тестами
и пр.)
 Большинство микрофреймворков развиваются в ногу
со временем
 Большая часть компонентов может быть заменена,
добавлена или удалена
Микросервисы
 Тут Леша долго и красиво рассказывает про
микросервисы
Примеры из жизни
Спасибо!
 http://xybu.me/a-comparison-of-php-micro-frameworks/
 http://phptrends.com/category/9
 http://silex.sensiolabs.org/
Спикер: Алексей Рыстенко <arystenko@dataart.com>

More Related Content

More from Oleg Poludnenko

Александр Трищенко: Phalcon framework
Александр Трищенко: Phalcon frameworkАлександр Трищенко: Phalcon framework
Александр Трищенко: Phalcon frameworkOleg Poludnenko
 
Алексей Иванкин: Highload + PHP
Алексей Иванкин: Highload + PHPАлексей Иванкин: Highload + PHP
Алексей Иванкин: Highload + PHPOleg Poludnenko
 
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2Oleg Poludnenko
 
Алексей Рыстенко: Highload и микросервисы
Алексей Рыстенко: Highload и микросервисыАлексей Рыстенко: Highload и микросервисы
Алексей Рыстенко: Highload и микросервисыOleg Poludnenko
 
Алексей Плеханов: Новинки Laravel 5
Алексей Плеханов: Новинки Laravel 5Алексей Плеханов: Новинки Laravel 5
Алексей Плеханов: Новинки Laravel 5Oleg Poludnenko
 
Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥Oleg Poludnenko
 
Дмитрий Тарасов: Google App Engine & PHP SDK
Дмитрий Тарасов: Google App Engine & PHP SDKДмитрий Тарасов: Google App Engine & PHP SDK
Дмитрий Тарасов: Google App Engine & PHP SDKOleg Poludnenko
 
Алексей Рыстенко: Continuous Integration
Алексей Рыстенко: Continuous IntegrationАлексей Рыстенко: Continuous Integration
Алексей Рыстенко: Continuous IntegrationOleg Poludnenko
 
Илья Андриенко: Вёрстка в проекте глазами “неверстальщика”
Илья Андриенко: Вёрстка в проекте глазами  “неверстальщика”Илья Андриенко: Вёрстка в проекте глазами  “неверстальщика”
Илья Андриенко: Вёрстка в проекте глазами “неверстальщика”Oleg Poludnenko
 
Алексей Плеханов: 25 причин попробовать Laravel
Алексей Плеханов: 25 причин попробовать LaravelАлексей Плеханов: 25 причин попробовать Laravel
Алексей Плеханов: 25 причин попробовать LaravelOleg Poludnenko
 

More from Oleg Poludnenko (10)

Александр Трищенко: Phalcon framework
Александр Трищенко: Phalcon frameworkАлександр Трищенко: Phalcon framework
Александр Трищенко: Phalcon framework
 
Алексей Иванкин: Highload + PHP
Алексей Иванкин: Highload + PHPАлексей Иванкин: Highload + PHP
Алексей Иванкин: Highload + PHP
 
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2
 
Алексей Рыстенко: Highload и микросервисы
Алексей Рыстенко: Highload и микросервисыАлексей Рыстенко: Highload и микросервисы
Алексей Рыстенко: Highload и микросервисы
 
Алексей Плеханов: Новинки Laravel 5
Алексей Плеханов: Новинки Laravel 5Алексей Плеханов: Новинки Laravel 5
Алексей Плеханов: Новинки Laravel 5
 
Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥
 
Дмитрий Тарасов: Google App Engine & PHP SDK
Дмитрий Тарасов: Google App Engine & PHP SDKДмитрий Тарасов: Google App Engine & PHP SDK
Дмитрий Тарасов: Google App Engine & PHP SDK
 
Алексей Рыстенко: Continuous Integration
Алексей Рыстенко: Continuous IntegrationАлексей Рыстенко: Continuous Integration
Алексей Рыстенко: Continuous Integration
 
Илья Андриенко: Вёрстка в проекте глазами “неверстальщика”
Илья Андриенко: Вёрстка в проекте глазами  “неверстальщика”Илья Андриенко: Вёрстка в проекте глазами  “неверстальщика”
Илья Андриенко: Вёрстка в проекте глазами “неверстальщика”
 
Алексей Плеханов: 25 причин попробовать Laravel
Алексей Плеханов: 25 причин попробовать LaravelАлексей Плеханов: 25 причин попробовать Laravel
Алексей Плеханов: 25 причин попробовать Laravel
 

Алексей Рыстенко: Микрофреймворки, Silex и зачем это нужно

  • 2. MVC
  • 3. Фреймворки и микрофреймворки  Фреймворк (англ. framework — каркас, структура) — структура программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.  Микрофреймворк – см. выше, только меньше. 
  • 4. Микрофреймворк Из чего состоит? • Базовый роутинг • Основной иструментарий – самое необходимое • Обработчики запросов и ошибок Может также содержать базовую модель и базовый контроллер, если микрофреймворк все-таки следует концепции MVC
  • 5. А зачем?  Простые REST и RPC API  Надстройки над командной строкой  Прототипирование больших систем  Системы maintenance серверов и служб  Мэйлеры  Прокси-серверы и промежуточные компоненты приложений  Сайты-визитки   Самые обычные CRUD-системы  ...и многое другое
  • 6. Тысячи их • Slim • Silex • Horde • Limonade • Phalcon • Aura • Wave • Flight • Fat-Free Framework (F3) • Jolt • Hydra • FRAPI • …
  • 8. Silex  Автор – Фабьен Потенсье, он же автор Symfony  Легко интегрируется с компонентами Symfony  Предельно простая архитектура  Доступная и понятная документация  Управляется через composer (или через PHAR для особых ценителей)  Поставляется в двух сборках: fat и slim  Легкий exception handling
  • 10. Silex
  • 11. Плюсы и минусы  Плюсы:  Легкость в освоении и разработке  Расширяемость  KISS и ничего лишнего  Некоторые MF дают существенный прирост производительности  Минусы:  Небогатый инструментарий  Не подходят для крупных энтерпрайз-систем
  • 12. Расширяемость  Большинство микрофреймворков удовлетворяют современным требованиям к платформам разработки (поддержка Composer, покрытие тестами и пр.)  Большинство микрофреймворков развиваются в ногу со временем  Большая часть компонентов может быть заменена, добавлена или удалена
  • 13. Микросервисы  Тут Леша долго и красиво рассказывает про микросервисы
  • 15. Спасибо!  http://xybu.me/a-comparison-of-php-micro-frameworks/  http://phptrends.com/category/9  http://silex.sensiolabs.org/ Спикер: Алексей Рыстенко <arystenko@dataart.com>

Editor's Notes

  1. Несмотря на обилие фреймворков и их активное использование в разработке часто бывают случаи когда просто необходимо иметь что-то lightweight, но одновременно scalable и со всеми основными возможностями фреймворков.
  2. Silex vs Symfony / Laravel