SlideShare a Scribd company logo
1 of 43
Download to read offline
Phalcon – самый быстрый
PHP фреймворк
Александр Торош
Веб-студия «WeZoom»
oleksandr.torosh@wezoom.net
В мире PHP фреймворков
•

ZendFramework

•

Symfony

•

Yii

•

Laravel

•

Kohana
Преимущества работы с
фреймворками
•
•
•

•
•

•

Однородная архитектура приложения
DRY code
Широкий набор готового
инструментария
Высокая скорость разработки
Возможность строить гибкие и
масштабируемые приложения
…
Недостатки фреймворков
•
•

•

•

•

Большое количество файлов
Каждый запрос к серверу
~ 40-60 .php файлов
Код фреймворка интерпретируется для
каждого запроса заново
Большой аппетит на системные
ресурсы
Относительно низкая устойчивость к
нагрузкам
Как заставить фреймворк работать
быстрее?
Как заставить фреймворк работать
быстрее?
•
•
•
•

•
•
•

Сделать сборку в один файл
HTTP-прокси кеш, например Varnish
Переписать dispatcher под себя
Написать свой MVC
Кешировать все вдоль и поперек
…
Как-то работать с этим всем дальше
Нагрузочный тест Hello World
Requests per second

2535

1059

851
489

Symfony

Yii

Kohana

541

Laravel

860

354

Zend

Codeigniter

Phalcon
Потребление памяти
Megabytes per request
1,75
1,50

1,50
1,25

1,25

1,10

0,25

Zend

Yii

Symfony

Laravel

Kohana

Codeigniter

Phalcon
Phalcon PHP Framework
Особенности Phalcon
•
•
•

•
•
•

•
•
•

Написан на Си
Работает как extension для PHP
Уже скомпилирован и не требует
интерпретации
Находится в оперативной памяти
Требует минимум файловых операций
Потребляет мало ресурсов
Очень производительный
Не требует от разработчика знаний Си
Бубен нам уже не нужен 
Компоненты
•
•
•
•
•
•

•

•

•
•

ODM для Mongo
ORM
Шаблонизатор Volt
DI / IOC
Events Management
Encryption
HTTP Request /
Response / Cookies
Escaping / Filtering
Forms
Flash Messages

•
•
•
•
•
•

•
•
•

•

Routing
Cache
Pagination
Annotations
Security
Translations
Assets Management
Auto-Loader
Logging
CLI
Готовое приложение на Github
https://github.com/
oleksandr-torosh/phalcon-modular-app
Auto-Loader
$loader = new PhalconLoader();
$loader->registerNamespaces(array(
'Zend' => __DIR__ .
'/../vendor/zendframework/zendframework/library/Zend',
'Application' => __DIR__ . '/modules/Application',
'Index'
=> __DIR__ . '/modules/Index',
'Blog'
=> __DIR__ . '/modules/Blog',
));
$loader->register();

•
•

•
•
•

Na++mespaces
Prefixes (ZF1-style)
Directories
Classes
Любые расширения файлов (.php, .inc, .phb … )
Dependency Injection Container

ssd
Dependency Injection Container
// Инициализация сервисов приложения
$view = new PhalconMvcView();
$view->setPartialsDir(/*some dir*/);
$di->set('view', $view);

// Переопределение сервиса, например в Module.php
$view = $di->get('view');

$view->setViewsDir(/*some dir*/);
$di->set('view', $view);
Routing
Default router
$router->add('/:module/:controller/:action/:params', array(
'module'
=> 1,
'controller' => 2,
'action'
=> 3,
'params'
=> 4
));

Обработка параметров в контроллере
// REQUEST_URI = '/blog/admin/index/3'
// Namespace BlogControllerAdminController
public function editAction($id)
{
// id = '3' (string)
}
Routing
Предопределенные плейсхолдеры
$router->add(
"/admin/:controller/a/:action/:params", array(
"controller" => 1,
"action"
=> 2,
"params"
=> 3,
));

Пользовательские плейсхолдеры и короткий синтаксис
$router->add(
"/blog/{id:[0-9]+}/{slug:[a-z-]+}",
"BlogIndexController::post"
);
Routing
Регулярные выражения
$router->add(
"/blog/([0-9]+)/([a-z-]+)(/([0-9]+))?",
array(
"module" => "blog",
"controller" => "index",
"action"
=> "archive",
"year"
=> 1,
"month"
=> 2,
"page"
=> 4
)
);
Routing
Группы маршрутов
$blog = new PhalconMvcRouterGroup(
array(
'module'
=> 'blog',
'controller' => 'index'
)
);
$blog->setPrefix('/blog');
$blog->add('/{slug:[a-z0-9_-]+}.html',
array(
'action' => 'post',
)
)->setName('blog/post');

$router->mount($blog);
Routing
Маршруты для определенных типов HTTP-запросов
// This route only will be matched if the HTTP method is GET
$router->addGet("/products/edit/{id}", "Products::edit");
// This route only will be matched if the HTTP method is POST
$router->addPost("/products/save", "Products::save");
// This route will be matched if the HTTP method is POST or PUT
$router->add("/products/update")->via(array("POST", "PUT"));

RESTful applications friendly
Routing
Аннотации
/**
* @RoutePrefix("/api/products")
*/
class ProductsController
{
/**
* @Get("/edit/{id:[0-9]+}", name="edit-robot")
*/
public function editAction($id)
{
}
/**
* @Route("/save", methods={"POST", "PUT"}, name="save-robot")
*/
public function saveAction()
{
}
}
Cache
Backend Adapters:
• File
• Memcached
• APC
• Mongo
• XCache

Используется в:
• View
• Models
• ModelsMetadata
• Annotations
Cache
Многоуровневый кеш
use PhalconCacheMultiple,
PhalconCacheBackendApc as ApcCache,
PhalconCacheBackendMemcache as MemcacheCache,
PhalconCacheBackendFile as FileCache;
$cache = new Multiple(array(
new ApcCache($ultraFastFrontend, array(
"prefix" => 'cache',
)),
new MemcacheCache($fastFrontend, array(
"prefix" => 'cache',
"host" => "localhost",
"port" => "11211"
)),
new FileCache($slowFrontend, array(
"prefix" => 'cache',
"cacheDir" => "../app/cache/"
))
));
Volt: Template Engine
•
•
•
•

•

Шаблонизатор
Написан на Си
Ультра-быстрый
Синтаксис похожий на Jinja (python),
Twig (php)
Имеет высокую степень интеграции с
сервисами Phalcon
Возможности Volt
•
•
•
•

•
•
•
•

Работа с переменными приложения
Фильтрация данных вывода
Логические выражения и операторы
Математические выражения
Работа с массивами
Макросы
Добавление своих функций
Кеширование
Пример шаблона Volt
<!DOCTYPE html>
<html>
<head>
<title>{{ title }} - An example blog</title>
</head>
<body>
{% if show_navigation %}
<ul id="navigation">
{% for item in menu %}
<li><a href="{{ item.href }}">{{ item.caption }}</a></li>
{% endfor %}
</ul>
{% endif %}
<h1>{{ post.title }}</h1>

<div class="content">
{{ post.content }}
</div>
</body>
</html>
ORM
•
•

•

•
•
•

•
•
•

Работа с сущностями
Реляционные связи
Удобные методы find,
findFirst с параметрами
выборки
Phalcon Query Language
Query Builder
Валидации
Гидрации
Кеширование
События/Events

•
•
•
•

•
•

Транзакции
Models Meta-Data
Аннотации
Логирование
Профилирование
Шардинг
Пример простого контроллера
public function indexAction()
{
$posts = Post::find(array('sort' =>
array('created_at' => 'desc'))
);
$this->view->posts = $posts;
}
public function postAction($slug)
{
$post = Post::findFirst(
array("slug = '{$slug}'",
'cache' => array(
'lifetime' => 30,
'key'
=> "Post::findBySlug(" . md5($slug) . ")"
))
);
$this->view->post = $post;
$this->tag->prependTitle($post->getTitle());
}
Developer Tools / Консоль
Developer Tools / Web-интерфейс
Хотелось бы упомянуть
•
•

•

•

Развитый View Layer
Assets Manager для минификации и
билдинга CSS, JS файлов
ODM для MongoDb
UNIT Testing
Higload проект Gazeta.ua
•
•
•

ZendFramework 1.11
ORM Doctrine 1.24
MySQL

Достижение производительности
• Изменение MVC
• Varnish HTTP-proxy
• Полное кеширование страниц
• Блочное кеширование
Higload проект Gazeta.ua
Хиты ~ 800 000
Хосты ~ 140 000
Средний онлайн ~ 2500
Максимальный онлайн ~ 8000
Web-server

DB-server

8 x Intel(R) Xeon(R)
CPU E5506 @ 2.13GHz
Total Memory 32 Gb

8 x Intel(R) Xeon(R)
CPU E5506 @ 2.13GHz
Total Memory 16 Gb

Middle Load avg. ~ 3.5

Middle Load avg. ~ 2.1
Нагрузочное тестирование Gazeta.ua
Varnish, многоуровневое кеширование, MySQL
# ab -n 2000 -c 10 http://gazeta.ua/
Requests per second: 67.24 [#/sec] (mean)

MySQL
# ab -n 2000 -c 10 http://gazeta.ua/

Requests per second: 9.08 [#/sec] (mean)

Web-server CRASHED ~ 8000 онлайн
Dev-версия Gazeta.ua на Phalcon
Кеширование виджетов, MongoDb
# ab -n 2000 -c 10 http://gazeta_phalcon.local/
Requests per second: 598.74 [#/sec] (mean)

MongoDb
# ab -n 2000 -c 10 http:// gazeta_phalcon.local /

Requests per second: 101.92 [#/sec] (mean)
Dev-версия Gazeta.ua на Phalcon

598,74

101,92
67,24
9,08

ZF1

ZF1+cache

Phalcon

Phalcon+cache
Перспективы развития Phalcon
Проблема:
• Исходный код на Си
• Низкая скорость развития фреймворка

Решение:
• Создание новой версии Phalcon 2.0, которая
будет написана на Zephir – мощный
и простой язык понятный любому
PHP-разработчику
Zephir
class MyTest
{
public function someMethod()
{
/* Variables must be declared */
var fruits;
int i = 0, length;
/* Create PHP array */
let myArray = ["hello", 0, 100.25, false, null];
/* count the array into a 'int' variable */
let length = count(myArray);
/* Print value types */
while i < length {
echo typeof myArray[i], "n";
let i++;
}
return fruits;
}
}
Официальный сайт
http://phalconphp.com/
Github
https://github.com/phalcon/cphalcon
Сообщество
http://forum.phalconphp.com/
Выводы
•

•

•

•

Phalcon даёт нам новый, свежий взгляд
на PHP фреймворки
Phalcon – это очень быстрый и богатый
функционалом фреймворк
На нем можно смело разрабатывать
Production приложения
Очень большие перспективы развития
Вопросы
Александр Торош
Веб-студия «WeZoom»

wezoom.com.ua

oleksandr.torosh@wezoom.net

Тел: (044) 221-65-78
(096) 989-08-28
(063) 787-22-36

More Related Content

What's hot

"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25MoscowJS
 
Flex Data Access
Flex Data AccessFlex Data Access
Flex Data Accesssergiy
 
Symfony as the platform for open source projects (sympal, apostrophe, diem)
Symfony as the platform for open source projects (sympal, apostrophe, diem)Symfony as the platform for open source projects (sympal, apostrophe, diem)
Symfony as the platform for open source projects (sympal, apostrophe, diem)Alex Demchenko
 
Meet Magento Belarus - Alexander Kaigorodov
Meet Magento Belarus - Alexander KaigorodovMeet Magento Belarus - Alexander Kaigorodov
Meet Magento Belarus - Alexander KaigorodovAmasty
 
"Изоморфная разработка на javascript с помощью react.js" Максим Климишин
"Изоморфная разработка на javascript с помощью react.js" Максим Климишин"Изоморфная разработка на javascript с помощью react.js" Максим Климишин
"Изоморфная разработка на javascript с помощью react.js" Максим КлимишинFwdays
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Serversrit2010
 
Как делать качественные PBN и следить за ними когда их более 1000
Как делать качественные PBN и следить за ними когда их более 1000Как делать качественные PBN и следить за ними когда их более 1000
Как делать качественные PBN и следить за ними когда их более 1000NaZapad
 
webpack: 7 бед - один ответ
webpack: 7 бед - один ответwebpack: 7 бед - один ответ
webpack: 7 бед - один ответDenis Izmaylov
 
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27MoscowJS
 
Sql server clr integration
Sql server clr integration Sql server clr integration
Sql server clr integration Alex Tumanoff
 
Презентация «WebMarkupMin – HTML-минификатор для платформы .NET» с MskDotNet ...
Презентация «WebMarkupMin – HTML-минификатор для платформы .NET» с MskDotNet ...Презентация «WebMarkupMin – HTML-минификатор для платформы .NET» с MskDotNet ...
Презентация «WebMarkupMin – HTML-минификатор для платформы .NET» с MskDotNet ...Andrey Taritsyn
 
Изоморфные react-приложения
Изоморфные react-приложенияИзоморфные react-приложения
Изоморфные react-приложенияDenis Izmaylov
 
Изоморфные React-приложения: производительность и масштабирование
Изоморфные React-приложения: производительность и масштабированиеИзоморфные React-приложения: производительность и масштабирование
Изоморфные React-приложения: производительность и масштабированиеDenis Izmaylov
 
Streaming media servers: FMS/Wowza
Streaming media servers: FMS/WowzaStreaming media servers: FMS/Wowza
Streaming media servers: FMS/WowzaArtem Paschenko
 
Фронтенд разработка без боли
Фронтенд разработка без болиФронтенд разработка без боли
Фронтенд разработка без болиAnton Piskunov
 
Платформа .NET Core глазами PHP-разработчика
Платформа .NET Core глазами PHP-разработчикаПлатформа .NET Core глазами PHP-разработчика
Платформа .NET Core глазами PHP-разработчикаГеоргий Драк
 
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Pavel Dovbush
 
Memcache message queue
Memcache message queueMemcache message queue
Memcache message queueDmitry Sividov
 
Redux и изоморфные приложения
Redux и изоморфные приложенияRedux и изоморфные приложения
Redux и изоморфные приложенияJohn Wezel
 

What's hot (20)

"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
 
Flex Data Access
Flex Data AccessFlex Data Access
Flex Data Access
 
Symfony as the platform for open source projects (sympal, apostrophe, diem)
Symfony as the platform for open source projects (sympal, apostrophe, diem)Symfony as the platform for open source projects (sympal, apostrophe, diem)
Symfony as the platform for open source projects (sympal, apostrophe, diem)
 
Meet Magento Belarus - Alexander Kaigorodov
Meet Magento Belarus - Alexander KaigorodovMeet Magento Belarus - Alexander Kaigorodov
Meet Magento Belarus - Alexander Kaigorodov
 
"Изоморфная разработка на javascript с помощью react.js" Максим Климишин
"Изоморфная разработка на javascript с помощью react.js" Максим Климишин"Изоморфная разработка на javascript с помощью react.js" Максим Климишин
"Изоморфная разработка на javascript с помощью react.js" Максим Климишин
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Servers
 
Как делать качественные PBN и следить за ними когда их более 1000
Как делать качественные PBN и следить за ними когда их более 1000Как делать качественные PBN и следить за ними когда их более 1000
Как делать качественные PBN и следить за ними когда их более 1000
 
webpack: 7 бед - один ответ
webpack: 7 бед - один ответwebpack: 7 бед - один ответ
webpack: 7 бед - один ответ
 
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27
 
Sql server clr integration
Sql server clr integration Sql server clr integration
Sql server clr integration
 
Презентация «WebMarkupMin – HTML-минификатор для платформы .NET» с MskDotNet ...
Презентация «WebMarkupMin – HTML-минификатор для платформы .NET» с MskDotNet ...Презентация «WebMarkupMin – HTML-минификатор для платформы .NET» с MskDotNet ...
Презентация «WebMarkupMin – HTML-минификатор для платформы .NET» с MskDotNet ...
 
Изоморфные react-приложения
Изоморфные react-приложенияИзоморфные react-приложения
Изоморфные react-приложения
 
Marrow
MarrowMarrow
Marrow
 
Изоморфные React-приложения: производительность и масштабирование
Изоморфные React-приложения: производительность и масштабированиеИзоморфные React-приложения: производительность и масштабирование
Изоморфные React-приложения: производительность и масштабирование
 
Streaming media servers: FMS/Wowza
Streaming media servers: FMS/WowzaStreaming media servers: FMS/Wowza
Streaming media servers: FMS/Wowza
 
Фронтенд разработка без боли
Фронтенд разработка без болиФронтенд разработка без боли
Фронтенд разработка без боли
 
Платформа .NET Core глазами PHP-разработчика
Платформа .NET Core глазами PHP-разработчикаПлатформа .NET Core глазами PHP-разработчика
Платформа .NET Core глазами PHP-разработчика
 
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
 
Memcache message queue
Memcache message queueMemcache message queue
Memcache message queue
 
Redux и изоморфные приложения
Redux и изоморфные приложенияRedux и изоморфные приложения
Redux и изоморфные приложения
 

Viewers also liked

Yii Development
Yii DevelopmentYii Development
Yii Developmentjananya213
 
Debugging Drupal - How to Debug your Drupal Application
Debugging Drupal - How to Debug your Drupal ApplicationDebugging Drupal - How to Debug your Drupal Application
Debugging Drupal - How to Debug your Drupal ApplicationZyxware Technologies
 
Drupal 8 и хостинг
Drupal 8 и хостингDrupal 8 и хостинг
Drupal 8 и хостингDrupalSPB
 
Если не Drupal 8, то что? Обзор Laravel 5
Если не Drupal 8, то что? Обзор Laravel 5Если не Drupal 8, то что? Обзор Laravel 5
Если не Drupal 8, то что? Обзор Laravel 5DrupalSPB
 
Headless Drupal на примере Drupal 8 и React
Headless Drupal на примере Drupal 8 и ReactHeadless Drupal на примере Drupal 8 и React
Headless Drupal на примере Drupal 8 и ReactDrupalSPB
 
Knowing Laravel 5 : The most popular PHP framework
Knowing Laravel 5 : The most popular PHP frameworkKnowing Laravel 5 : The most popular PHP framework
Knowing Laravel 5 : The most popular PHP frameworkBukhori Aqid
 
Intro to Laravel PHP Framework
Intro to Laravel PHP FrameworkIntro to Laravel PHP Framework
Intro to Laravel PHP FrameworkBill Condo
 

Viewers also liked (9)

Php micro frameworks
Php micro frameworksPhp micro frameworks
Php micro frameworks
 
Yii Development
Yii DevelopmentYii Development
Yii Development
 
Debugging Drupal - How to Debug your Drupal Application
Debugging Drupal - How to Debug your Drupal ApplicationDebugging Drupal - How to Debug your Drupal Application
Debugging Drupal - How to Debug your Drupal Application
 
Drupal 8 и хостинг
Drupal 8 и хостингDrupal 8 и хостинг
Drupal 8 и хостинг
 
Если не Drupal 8, то что? Обзор Laravel 5
Если не Drupal 8, то что? Обзор Laravel 5Если не Drupal 8, то что? Обзор Laravel 5
Если не Drupal 8, то что? Обзор Laravel 5
 
Headless Drupal на примере Drupal 8 и React
Headless Drupal на примере Drupal 8 и ReactHeadless Drupal на примере Drupal 8 и React
Headless Drupal на примере Drupal 8 и React
 
Why I Hate Drupal
Why I Hate DrupalWhy I Hate Drupal
Why I Hate Drupal
 
Knowing Laravel 5 : The most popular PHP framework
Knowing Laravel 5 : The most popular PHP frameworkKnowing Laravel 5 : The most popular PHP framework
Knowing Laravel 5 : The most popular PHP framework
 
Intro to Laravel PHP Framework
Intro to Laravel PHP FrameworkIntro to Laravel PHP Framework
Intro to Laravel PHP Framework
 

Similar to Phalcon - самый быстрый PHP Framework

Nginx Igor Sysoev
Nginx   Igor SysoevNginx   Igor Sysoev
Nginx Igor SysoevMedia Gorod
 
Web весна 2013 лекция 1
Web весна 2013 лекция 1Web весна 2013 лекция 1
Web весна 2013 лекция 1Technopark
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPITimur Shemsedinov
 
Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Ontico
 
Стажировка-2013, разработчики, занятие 7. Web, HTTP
Стажировка-2013, разработчики, занятие 7. Web, HTTPСтажировка-2013, разработчики, занятие 7. Web, HTTP
Стажировка-2013, разработчики, занятие 7. Web, HTTP7bits
 
Компиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоКомпиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоFuenteovejuna
 
Azure web apps - designing and debugging
Azure web apps  - designing and debuggingAzure web apps  - designing and debugging
Azure web apps - designing and debuggingAlexey Bokov
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)guest40e031
 
Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)Alexey Kachayev
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 67bits
 
Eugene Lisitsky Web Sockets
Eugene Lisitsky Web SocketsEugene Lisitsky Web Sockets
Eugene Lisitsky Web Socketsrit2010
 
FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоАлександр Ежов
 
Cпецкурс 2014, занятие 7. Web-приложения
Cпецкурс 2014, занятие 7. Web-приложенияCпецкурс 2014, занятие 7. Web-приложения
Cпецкурс 2014, занятие 7. Web-приложения7bits
 
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...Egor Konovalov
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Nikita Borzykh
 
Node.JS: возможности для РНР-разработчика
Node.JS: возможности для РНР-разработчикаNode.JS: возможности для РНР-разработчика
Node.JS: возможности для РНР-разработчикаAlexei Smolyanov
 

Similar to Phalcon - самый быстрый PHP Framework (20)

Nginx Igor Sysoev
Nginx   Igor SysoevNginx   Igor Sysoev
Nginx Igor Sysoev
 
Web весна 2013 лекция 1
Web весна 2013 лекция 1Web весна 2013 лекция 1
Web весна 2013 лекция 1
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPI
 
Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)
 
Стажировка-2013, разработчики, занятие 7. Web, HTTP
Стажировка-2013, разработчики, занятие 7. Web, HTTPСтажировка-2013, разработчики, занятие 7. Web, HTTP
Стажировка-2013, разработчики, занятие 7. Web, HTTP
 
Компиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоКомпиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей Романенко
 
Azure web apps - designing and debugging
Azure web apps  - designing and debuggingAzure web apps  - designing and debugging
Azure web apps - designing and debugging
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)
 
Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
 
PHP
PHPPHP
PHP
 
Web sockets
Web socketsWeb sockets
Web sockets
 
Eugene Lisitsky Web Sockets
Eugene Lisitsky Web SocketsEugene Lisitsky Web Sockets
Eugene Lisitsky Web Sockets
 
FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это просто
 
Cпецкурс 2014, занятие 7. Web-приложения
Cпецкурс 2014, занятие 7. Web-приложенияCпецкурс 2014, занятие 7. Web-приложения
Cпецкурс 2014, занятие 7. Web-приложения
 
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...
 
176023
176023176023
176023
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.
 
Node.JS: возможности для РНР-разработчика
Node.JS: возможности для РНР-разработчикаNode.JS: возможности для РНР-разработчика
Node.JS: возможности для РНР-разработчика
 
WWW
WWWWWW
WWW
 

Phalcon - самый быстрый PHP Framework