SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
PHP micro-
frameworks
Что это и зачем это
BohdanVorona
PHP micro-frameworks (PHP микрофреймворки)
Фреймворк. Микрофреймворк?
Зачем? Простые сайтики
не кошерно не нужно
Несколько
страниц
Зачем? Прототипирование
Зачем? Web API
CRUD
Зачем? Mailers
… и многое другое
The MicroPHP Manifesto
Я PHP-разработчик
● Я не разработчик Zend Framework или Symfony
или CakePHP
● Я думаю, что PHP достаточно сложен
Мне нравится делать маленькие вещи
● Мне нравится делать маленькие вещи, имеющие
простые цели
● Мне нравится делать вещи, которые решают
проблемы
● Мне нравится делать маленькие вещи, которые
работают вместе для решения больших проблем
Я хочу писать меньше кода, а не больше
● Я хочу писать меньше кода, а не больше
● Я хочу управлять меньшим количеством кода, а не
большим
● Я хочу поддерживать меньшее количество кода, а
не большее
● Я должен обосновать каждый кусок кода, который
включаю в проект
Мне нравится простой, читабельный код
● Я хочу писать понятный код
● Я хочу иметь легко проверяемый код
microphp.org funkatron
Особенности
Кодогенераторы Namespaces Lambda
Что внутри?
Micro
Роутер
MVC
HTTP
Обработка
ошибок
Много...
PHP micro-
frameworks
BulletPHP
Fat-Free
Framework
Limonade
Lumen Phalcon
Recess
PHP
Silex
Slim
Tonic
The One
Framework
Wave
Framework
Zaphpa
Lumen
Плюсы:
- Очень хорошая документация;
- Да, действительно быстрый;
- Отличная поддержка 3rd party
(спасибо старшему брату -
Laravel);
- Легко апгрейднуться до full
Laravel проекта;
- Простой в понимании синтакс.
Минусы:
- Размер не совсем micro;
- Не нравится Laravel != не
нравится Lumen.
Lumen
Lumen
Lumen
Lumen
Service
Providers
Unit Testing
Validation
Queues Events Errors &
Logging
Database
Cache
Authorization
Lumen
Lumen
Silex
Плюсы:
- Один из самых быстрых;
- На данный момент best-known;
- Построен на базе Symfony
компонентов и модулей;
- Используй только, что нужно;
- Очень хорошая документация;
- Может быть хорошим и для
больших проектов.
Минусы:
- Не знаешь Symfony => Silex
может показаться сложным за
счёт использования
компонентов старшего брата.
Silex
Silex
Silex
Silex
Twig
URL
Generator
Session
Validator
Form HTTP Security SwiftmailerMonolog
Translation
Doctrine
Silex
Silex
Silex
Slim
Phalcon
Что выбрать?
Даже тестирование
https://goo.gl/GRI2gk
BohdanVorona

Contenu connexe

Tendances

Yarfrontend #2. Как мы делали гуя...
Yarfrontend #2. Как мы делали гуя...Yarfrontend #2. Как мы делали гуя...
Yarfrontend #2. Как мы делали гуя...oelifantiev
 
Прототипирование с БЭМ — Антон Виноградов, Альфа-Лаб
Прототипирование с БЭМ — Антон Виноградов, Альфа-ЛабПрототипирование с БЭМ — Антон Виноградов, Альфа-Лаб
Прототипирование с БЭМ — Антон Виноградов, Альфа-ЛабYandex
 
User Story as UX Method
User Story as UX MethodUser Story as UX Method
User Story as UX MethodПрофсоUX
 
Как не сойти с ума при разработке крупных проектов на WordPress
Как не сойти с ума при разработке крупных проектов на WordPressКак не сойти с ума при разработке крупных проектов на WordPress
Как не сойти с ума при разработке крупных проектов на WordPressYevhen Kotelnytskyi
 
Как сделать хороший прототип вовремя?
Как сделать хороший прототип вовремя?Как сделать хороший прототип вовремя?
Как сделать хороший прототип вовремя?Mikhail Kulakov
 
Meet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy SamilyakMeet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy SamilyakAmasty
 
Bemer: декларативная шаблонизация на учебном примере — Артём Курбатов, Яндекс
Bemer: декларативная шаблонизация на учебном примере — Артём Курбатов, ЯндексBemer: декларативная шаблонизация на учебном примере — Артём Курбатов, Яндекс
Bemer: декларативная шаблонизация на учебном примере — Артём Курбатов, ЯндексYandex
 
Антон Капля - Meet Magento Ukraine - Кодогенератор в Magento
Антон Капля - Meet Magento Ukraine - Кодогенератор в MagentoАнтон Капля - Meet Magento Ukraine - Кодогенератор в Magento
Антон Капля - Meet Magento Ukraine - Кодогенератор в MagentoAtwix
 
JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js"
JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js" JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js"
JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js" GeeksLab Odessa
 
Вебинар по БЭМ: верстаем веб-страницу
Вебинар по БЭМ: верстаем веб-страницуВебинар по БЭМ: верстаем веб-страницу
Вебинар по БЭМ: верстаем веб-страницуYandex
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»DevGAMM Conference
 
Микрофреймворки на PHP (Андрей Синицын)
Микрофреймворки на PHP (Андрей Синицын)Микрофреймворки на PHP (Андрей Синицын)
Микрофреймворки на PHP (Андрей Синицын)Ontico
 
2013-11-09 02 Александр Самолов. Фреймворки - сладкое зло
2013-11-09 02 Александр Самолов. Фреймворки - сладкое зло2013-11-09 02 Александр Самолов. Фреймворки - сладкое зло
2013-11-09 02 Александр Самолов. Фреймворки - сладкое злоОмские ИТ-субботники
 
Server-side Rendering with JavaScript Frameworks | Odessa Frontend Meetup #6
Server-side Rendering with JavaScript Frameworks | Odessa Frontend Meetup #6Server-side Rendering with JavaScript Frameworks | Odessa Frontend Meetup #6
Server-side Rendering with JavaScript Frameworks | Odessa Frontend Meetup #6OdessaFrontend
 
Трудности повторного использования
Трудности повторного использованияТрудности повторного использования
Трудности повторного использованияDev2Dev
 
Rebrov selenium camp2013
Rebrov selenium camp2013Rebrov selenium camp2013
Rebrov selenium camp2013Andrey Rebrov
 

Tendances (20)

Yarfrontend #2. Как мы делали гуя...
Yarfrontend #2. Как мы делали гуя...Yarfrontend #2. Как мы делали гуя...
Yarfrontend #2. Как мы делали гуя...
 
Прототипирование с БЭМ — Антон Виноградов, Альфа-Лаб
Прототипирование с БЭМ — Антон Виноградов, Альфа-ЛабПрототипирование с БЭМ — Антон Виноградов, Альфа-Лаб
Прототипирование с БЭМ — Антон Виноградов, Альфа-Лаб
 
User Story as UX Method
User Story as UX MethodUser Story as UX Method
User Story as UX Method
 
Как не сойти с ума при разработке крупных проектов на WordPress
Как не сойти с ума при разработке крупных проектов на WordPressКак не сойти с ума при разработке крупных проектов на WordPress
Как не сойти с ума при разработке крупных проектов на WordPress
 
Как сделать хороший прототип вовремя?
Как сделать хороший прототип вовремя?Как сделать хороший прототип вовремя?
Как сделать хороший прототип вовремя?
 
WEB
WEBWEB
WEB
 
Meet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy SamilyakMeet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy Samilyak
 
Kothic JS - Web Browser Crash Test
Kothic JS - Web Browser Crash TestKothic JS - Web Browser Crash Test
Kothic JS - Web Browser Crash Test
 
Introduction in TDD
Introduction in TDDIntroduction in TDD
Introduction in TDD
 
Bemer: декларативная шаблонизация на учебном примере — Артём Курбатов, Яндекс
Bemer: декларативная шаблонизация на учебном примере — Артём Курбатов, ЯндексBemer: декларативная шаблонизация на учебном примере — Артём Курбатов, Яндекс
Bemer: декларативная шаблонизация на учебном примере — Артём Курбатов, Яндекс
 
Антон Капля - Meet Magento Ukraine - Кодогенератор в Magento
Антон Капля - Meet Magento Ukraine - Кодогенератор в MagentoАнтон Капля - Meet Magento Ukraine - Кодогенератор в Magento
Антон Капля - Meet Magento Ukraine - Кодогенератор в Magento
 
JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js"
JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js" JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js"
JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js"
 
Вебинар по БЭМ: верстаем веб-страницу
Вебинар по БЭМ: верстаем веб-страницуВебинар по БЭМ: верстаем веб-страницу
Вебинар по БЭМ: верстаем веб-страницу
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
 
Микрофреймворки на PHP (Андрей Синицын)
Микрофреймворки на PHP (Андрей Синицын)Микрофреймворки на PHP (Андрей Синицын)
Микрофреймворки на PHP (Андрей Синицын)
 
Pres1
Pres1Pres1
Pres1
 
2013-11-09 02 Александр Самолов. Фреймворки - сладкое зло
2013-11-09 02 Александр Самолов. Фреймворки - сладкое зло2013-11-09 02 Александр Самолов. Фреймворки - сладкое зло
2013-11-09 02 Александр Самолов. Фреймворки - сладкое зло
 
Server-side Rendering with JavaScript Frameworks | Odessa Frontend Meetup #6
Server-side Rendering with JavaScript Frameworks | Odessa Frontend Meetup #6Server-side Rendering with JavaScript Frameworks | Odessa Frontend Meetup #6
Server-side Rendering with JavaScript Frameworks | Odessa Frontend Meetup #6
 
Трудности повторного использования
Трудности повторного использованияТрудности повторного использования
Трудности повторного использования
 
Rebrov selenium camp2013
Rebrov selenium camp2013Rebrov selenium camp2013
Rebrov selenium camp2013
 

Similaire à PHP micro-frameworks (PHP микрофреймворки)

Python & Web: От простого к сложному
Python & Web: От простого к сложномуPython & Web: От простого к сложному
Python & Web: От простого к сложномуIlya Bolkhovsky
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Ontico
 
Терминология как основной способ поиска разработчиков или как не опозорится п...
Терминология как основной способ поиска разработчиков или как не опозорится п...Терминология как основной способ поиска разработчиков или как не опозорится п...
Терминология как основной способ поиска разработчиков или как не опозорится п...SBTech
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромKirill Kovalchuk
 
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiDevconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiAlexander Makarov
 
"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена Прихнич
"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена Прихнич"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена Прихнич
"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена ПрихничLviv Startup Club
 
"ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії"
"ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії""ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії"
"ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії"Lviv Startup Club
 
Зачем нужно уметь программировать?
Зачем нужно уметь программировать?Зачем нужно уметь программировать?
Зачем нужно уметь программировать?Michael Akimov
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.ScrumTrek
 
Разработка веб-приложений с помощью TypeScript
Разработка веб-приложений с помощью TypeScriptРазработка веб-приложений с помощью TypeScript
Разработка веб-приложений с помощью TypeScriptStas Vyschepan
 
Интегрированная среда разработки
Интегрированная среда разработкиИнтегрированная среда разработки
Интегрированная среда разработкиspillector
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем ТитаренкоCodeFest
 
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Anthony Marchenko
 
Сборник практических задании по Php
Сборник практических задании по PhpСборник практических задании по Php
Сборник практических задании по PhpRauan Ibraikhan
 
Ликбез по веб-технологиям
Ликбез по веб-технологиямЛикбез по веб-технологиям
Ликбез по веб-технологиямAlexey Simonenko
 
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.IT-Доминанта
 
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9OdessaFrontend
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU
 

Similaire à PHP micro-frameworks (PHP микрофреймворки) (20)

Python & Web: От простого к сложному
Python & Web: От простого к сложномуPython & Web: От простого к сложному
Python & Web: От простого к сложному
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
 
Терминология как основной способ поиска разработчиков или как не опозорится п...
Терминология как основной способ поиска разработчиков или как не опозорится п...Терминология как основной способ поиска разработчиков или как не опозорится п...
Терминология как основной способ поиска разработчиков или как не опозорится п...
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодером
 
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiDevconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
 
"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена Прихнич
"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена Прихнич"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена Прихнич
"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена Прихнич
 
"ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії"
"ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії""ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії"
"ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії"
 
Зачем нужно уметь программировать?
Зачем нужно уметь программировать?Зачем нужно уметь программировать?
Зачем нужно уметь программировать?
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
Разработка веб-приложений с помощью TypeScript
Разработка веб-приложений с помощью TypeScriptРазработка веб-приложений с помощью TypeScript
Разработка веб-приложений с помощью TypeScript
 
Интегрированная среда разработки
Интегрированная среда разработкиИнтегрированная среда разработки
Интегрированная среда разработки
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем Титаренко
 
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
 
04-varzar
04-varzar04-varzar
04-varzar
 
Cakephp
CakephpCakephp
Cakephp
 
Сборник практических задании по Php
Сборник практических задании по PhpСборник практических задании по Php
Сборник практических задании по Php
 
Ликбез по веб-технологиям
Ликбез по веб-технологиямЛикбез по веб-технологиям
Ликбез по веб-технологиям
 
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.
 
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
 

PHP micro-frameworks (PHP микрофреймворки)