SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Zend Framework 2.0
Alexander Veremyev
alexander.v@zend.com
ZF Core team
ZF2 related ресурсы
Ресурсы, посвященные ZF2:
http://framework.zend.com/
-> Community
-> Resources
-> Wiki
-> ZFDEV2
http://framework.zend.com/wiki/display/ZFDEV2/Home
Ресурсы, посвященные ZF2:
http://framework.zend.com/
-> Community -> Resources -> Wiki -> ZFDEV2
http://framework.zend.com/wiki/display/ZFDEV2/Home
irc://freenode/#zftalk.dev
irc://freenode/#zftalk-community
zf-contributors@lists.zend.com
Ресурсы, посвященные ZF2:
git://git.zendframework.com/zf.git
git://github.com/zendframework/zf2.git
https://github.com/zendframework/zf2
https://github.com/zendframework/zf2/blob/master/README-GIT.txt
Изменения в ZF2.
Изменения в ZF2.
Почему нужны какие-то изменения?
Что не устраивает в 1.x?
1. Слишком много путей делать одни и те же вещи.
2. Сложность в изучении.
3. Неудовлетворительная производительность.
Изменения в ZF2:
1. Namespaces
2. Процедура autoloading’а и загрузки плагинов
3. Типизация Exceptions.
4. Тестирование.
5. MVC
6. Унификация документации.
Namespaces
Для чего сделан перевод на Namespaces:
1. Удобно для пользователей.
$service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
$service = new Zend_Gdata_Calendar($client);
$listFeed = $service->getCalendarListFeed();
use ZendGdata;
$service = GdataCalendar::AUTH_SERVICE_NAME;
$client = GdataClientLogin::getHttpClient($user, $pass, $service);
$service = new GdataCalendar($client);
$listFeed = $service->getCalendarListFeed();
Для чего сделан перевод на Namespaces:
1. Удобно для пользователей.
2. Удобно внутри ZF, упрощает код, облегчает
поддержку.
Перевод на Namespaces:
весна 2010
ZF 2.0 Requirements
http://framework.zend.com/wiki/display/ZFDEV2/Zend+Framework+2.0+Requirements
Перевод на Namespaces производился в
полуавтоматическом режиме:
https://github.com/ralphschindler/PHPTools
https://github.com/zendframework/zf2/tree/master/working/
working/BC-Breaks.txt
working/PHPNamespacer-MappedClasses.xml
Особенности: отсутствие стандарта на
использование namespaces в docblocks.
namespace ZendToolFrameworkClientConsole;
use ZendToolFrameworkRegistry;
class ArgumentParser implements RegistryEnabled {
/**
* setRegistry()
*
* @param ZendToolFrameworkRegistry $registry
* @return ZendToolFrameworkClientConsoleArgumentParser
*/
public function setRegistry(Registry $registry)
{
// ...
return $this;
}
}
PHPNamespacer-MappedClasses.xml
<?xml version="1.0"?>
<mappedClasses libraryDirectory="../library/">
...
<mappedClass>
<originalRelativeFilePath>Zend/Amf/Parse/Amf3/Deserializer.php</originalRelativeFilePath>
<originalClassName>Zend_Amf_Parse_Amf3_Deserializer</originalClassName>
<newRelativeFilePath>Zend/AMF/Parser/AMF3/Deserializer.php</newRelativeFilePath>
<newNamespace>ZendAMFParserAMF3</newNamespace>
<newClassName>Deserializer</newClassName>
<newFullyQualifiedName>ZendAMFParserAMF3Deserializer</newFullyQualifiedName>
</mappedClass>
...
</mappedClasses>
Проблемы с зарезервированными словами.
interface Zend_Server_Interface
abstract class Zend_CodeGenerator_Abstract
=>
namespace ZendServer;
interface Server
namespace ZendCodeGenerator;
abstract class AbstractCodeGenerator
Использование интерфейсов.
interface Adapter {
public function __construct($options, Queue $queue = null);
public function getQueue();
public function setQueue(Queue $queue);
// ...
}
abstract class AbstractAdapter implements Adapter {
// ...
}
class ArrayAdapter extends AbstractAdapter { /* ... */ }
class Db extends AbstractAdapter { /* ... */ }
// ....
class Queue implements Countable {
/**
* Set the adapter for this queue
*
* @param string|ZendQueueAdapter $adapter
* @return ZendQueueQueue Provides a fluent interface
*/
public function setAdapter($adapter)
{}
}
Вопрос актуальности
PHPNamespacer-MappedClasses.php:
???
Проблема - сохранялась ли актуальность при слиянии
fixes и новой функциональности из 1.x
Autoloading &
Plugin Loading
Что не удовлетворяет в autoloading’е ZF 1.x:
http://framework.zend.com/wiki/display/ZFDEV2/Proposal+For+Autoloading+In+ZF2
1. Сложности с использованием include_path.
2. Чем глубже ZF library каталог в include_path, тем
медленнее loading.
3. Не поддерживает системы, где присутствуют связи
отличающиеся от 1:1.
4. Проблемы с производительностью даже при
применении байткод кэширования.
5. Не позволяет просто работать с архитектурами, где
компоненты могут быть инсталлированны в
индивидуальные поддеревья.
Standard Autoloader:
http://framework.zend.com/wiki/display/ZFDEV2/Proposal+For+Autoloading+In+ZF2
Standard Autoloader:
http://framework.zend.com/wiki/display/ZFDEV2/Proposal+For+Autoloading+In+ZF2
Classmap Autoloader:
http://framework.zend.com/wiki/display/ZFDEV2/Proposal+For+Autoloading+In+ZF2
bin/classmap_generator.php
Plugin loading ZF 1.x:
http://framework.zend.com/wiki/display/ZFDEV2/Proposal+for+Plugin+Loading+in+ZF2
1. Plugin loader используется не везде, где следует.
2. Часть функциональности дублируется в классах,
использующих plugin loader.
3. Проблемы с case sensitivity.
4. Производительность!!!
Exceptions
Exceptions в ZF 1.x:
a) Один exception класс на компоненту.
b) Все исключения отнаследованы от Zend_Exception, что затрудняет
дальнейшую типизацию Exception'ов.
PHP Standards working group meeting (2009),
планируемое решение для PEAR:
a) Каждая компонента содержит интерфейс-маркер Exception
b) Различные exception классы компоненты декларируются как
имплементирующие указанный интерфейс-маркер, при этом они
наследуют Exception класс или какой-либо более
специализированный SPL exception класс.
SPL exceptions:
http://www.php.net/manual/en/spl.exceptions.php
BadFunctionCallException
BadMethodCallException
DomainException
InvalidArgumentException
LengthException
LogicException
OutOfBoundsException
OutOfRangeException
OverflowException
RangeException
RuntimeException
UnderflowException
UnexpectedValueException
Структура файлов внутри компоненты, пример.
Mustache
|-- _autoload.php
|-- Exception
| |-- DomainException.php
| |-- InvalidArgumentException.php
| |-- InvalidStateException.php
| |-- TemplateNotFoundException.php
|-- Exception.php
|-- Lexer.php
|-- Mustache.php
|-- MustacheException.php
|-- Pragma
| |-- AbstractPragma.php
| `-- ImplicitIterator.php
|-- Pragma.php
`-- Renderer.php
Пример работы с Exceptions в ZF2
Тестирование
Проблемы unit тестов в ZF 1.x:
1. Permissions (при распространении ZF в составе
некоторых Linux дистрибутивов).
2. Служебные классы "живущие" вместе с тестами.
3. Обычно не-PHP файлы (конфиги, ...) расположены в
_files. Тем не менее, это требует review для каждой
компоненты в отдельности.
4. Вопросы возможности запуска тестов в параллельном
режиме.
5. Ресурсоемкость.
6. Нет возможности запуска по списку зависимости
компонент.
MVC
Controller Layer:
1. Сложно в изучении.
2. Используются некоторые "анти-паттерны":
– Zend_Controller_Front является синглетоном;
– Helper broker доступен только через protected члены класса => проблемы
с injecting.
…
1. Многие неотъемлемые части реализации вызывают падение
производительности.
2. Сложности с созданием модульного приложения (недостаточность
примеров + особенности реализации).
3. Возможность выполнения нескольких actions - сомнительная feature.
4. Error handling.
5. Возможность остановить обработку и немедленно передать response.
View Layer:
1. Слишком много ответственностей: отслеживание переменных,
фильтров, хелперов, поиск и рендеринг скриптов.
2. Загрузка helpers - очень узкое место в производительности по
причине overloading и подгружаемости плагинов.
3. Система хэлперов сложна для новых пользователей ("где метод
doctype() определен?! Какие параметры он принимает на вход?!")
4. View могут использовать только PHP скрипты, отсутствуют
приспособления для подгружаемости views откуда-либо еще (db, web
services, ...).
5. Layouts представлены в системе, но не обеспечивают возможностей,
кроме как рендеринга нового view.
Forms в ZF 1.x:
1. Form и subcomponents реализуют слишком много
ответственностей. Каждая компонента оперирует как минимум
одним встроенным plugin loader’ом и обращается к этим loader'ам
для работы с prefix paths.
2. Будучи доступны как отдельные объекты, указанные plugin
loader'ы могли бы предоставить большую гибкость и улучшить
производительность.
3. Использованный decorator pattern должен быть не частью объекта Form,
а находиться во view layer'е, form объекты при этом должны быть
инъецированы в decorator chains.
Zend_Application:
1. Условное конфигурирование модулей в зависимости от текущего
запроса.
2. Производительность чтения ресурсов.
MVC performance:
Текущую реализацию сложно оптимизировать.
http://www.slideshare.net/weierophinney/introducing-zend-framework-20
Documentation
Documentation
Требует стандартизации.
http://framework.zend.com/wiki/display/ZFDEV2/Proposal+for+Documentation+in+ZF2
Overview
Quick Start
Configuration Options
Available methods
Examples
Internationalization/
Localization
I18n/L10n
1. Performance.
2. Несоответствия ZF API и PHP API (например в форматах,
поддерживаемых Zend_Date и привычных для PHP
пользователей).
3. Использование статических данных и глобального состояния в
Zend_Locale серьезно осложняет тестирование как Zend_Locale,
так и других компонент.
The End
Alexander Veremyev
alexander.v@zend.com

Más contenido relacionado

La actualidad más candente

ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf Conference
 
Maven как средство сборки проекта
Maven как средство сборки проектаMaven как средство сборки проекта
Maven как средство сборки проекта
Yova Stoika
 
Maven 3 : уличная магия
Maven 3 : уличная магияMaven 3 : уличная магия
Maven 3 : уличная магия
Aleksey Solntsev
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Servers
rit2010
 
Компиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоКомпиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей Романенко
Fuenteovejuna
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Ontico
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Yandex
 

La actualidad más candente (20)

ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
 
JavaScript-модули "из прошлого в будущее"
JavaScript-модули "из прошлого в будущее"JavaScript-модули "из прошлого в будущее"
JavaScript-модули "из прошлого в будущее"
 
Node.JS: возможности для РНР-разработчика
Node.JS: возможности для РНР-разработчикаNode.JS: возможности для РНР-разработчика
Node.JS: возможности для РНР-разработчика
 
Maven как средство сборки проекта
Maven как средство сборки проектаMaven как средство сборки проекта
Maven как средство сборки проекта
 
Maven 3 : уличная магия
Maven 3 : уличная магияMaven 3 : уличная магия
Maven 3 : уличная магия
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPI
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Servers
 
What to expect from Java 9
What to expect from Java 9What to expect from Java 9
What to expect from Java 9
 
Vue.js и его брат-близнец Vue-server.js / Андрей Солодовников (НГС)
Vue.js и его брат-близнец Vue-server.js / Андрей Солодовников (НГС)Vue.js и его брат-близнец Vue-server.js / Андрей Солодовников (НГС)
Vue.js и его брат-близнец Vue-server.js / Андрей Солодовников (НГС)
 
Java Ahead-Of-Time compilation
Java Ahead-Of-Time compilationJava Ahead-Of-Time compilation
Java Ahead-Of-Time compilation
 
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
 
non-blocking java script
non-blocking java scriptnon-blocking java script
non-blocking java script
 
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
 
Опыт разработки и тестирования RESTful JSON сервиса
Опыт разработки и тестирования RESTful JSON сервисаОпыт разработки и тестирования RESTful JSON сервиса
Опыт разработки и тестирования RESTful JSON сервиса
 
Семь тысяч Rps, один go
Семь тысяч Rps, один goСемь тысяч Rps, один go
Семь тысяч Rps, один go
 
Компиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоКомпиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей Романенко
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
 
Подходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуПодходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализу
 
Phalcon - самый быстрый PHP Framework
Phalcon - самый быстрый PHP FrameworkPhalcon - самый быстрый PHP Framework
Phalcon - самый быстрый PHP Framework
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 

Destacado

Юнит тестирование в Zend Framework 2.0
Юнит тестирование в Zend Framework 2.0Юнит тестирование в Zend Framework 2.0
Юнит тестирование в Zend Framework 2.0
zfconfua
 
Все дороги ведут в Checkout
Все дороги ведут в CheckoutВсе дороги ведут в Checkout
Все дороги ведут в Checkout
Magecom Ukraine
 
1000 миллисекунд из жизни Magento
1000 миллисекунд из жизни Magento1000 миллисекунд из жизни Magento
1000 миллисекунд из жизни Magento
Magecom Ukraine
 
Мобильные клиенты интернет-магазинов
Мобильные клиенты интернет-магазиновМобильные клиенты интернет-магазинов
Мобильные клиенты интернет-магазинов
Magecom Ukraine
 
Применение компонент-ориентированной архитектуры для написания Magento Extens...
Применение компонент-ориентированной архитектуры для написания Magento Extens...Применение компонент-ориентированной архитектуры для написания Magento Extens...
Применение компонент-ориентированной архитектуры для написания Magento Extens...
Magecom Ukraine
 
Преимущества использования полнотекстового поиска в интернет-магазинах
Преимущества использования полнотекстового поиска в интернет-магазинахПреимущества использования полнотекстового поиска в интернет-магазинах
Преимущества использования полнотекстового поиска в интернет-магазинах
Magecom Ukraine
 
Система рендеринга в Magento
Система рендеринга в MagentoСистема рендеринга в Magento
Система рендеринга в Magento
Magecom Ukraine
 
Реализация шаблонов корпоративных приложений в Magento
Реализация шаблонов корпоративных приложений в MagentoРеализация шаблонов корпоративных приложений в Magento
Реализация шаблонов корпоративных приложений в Magento
Magecom Ukraine
 
Ключ успеха – процесс или продукт?
Ключ успеха – процесс или продукт?Ключ успеха – процесс или продукт?
Ключ успеха – процесс или продукт?
Magecom Ukraine
 
Управление продуктом в стиле Magento Unified Process
Управление продуктом в стиле Magento Unified ProcessУправление продуктом в стиле Magento Unified Process
Управление продуктом в стиле Magento Unified Process
Magecom Ukraine
 
Применение TDD при разработке веб-сервисов
Применение TDD при разработке веб-сервисовПрименение TDD при разработке веб-сервисов
Применение TDD при разработке веб-сервисов
Magecom Ukraine
 
Индексирование в Magento
Индексирование в MagentoИндексирование в Magento
Индексирование в Magento
Magecom Ukraine
 

Destacado (16)

Юнит тестирование в Zend Framework 2.0
Юнит тестирование в Zend Framework 2.0Юнит тестирование в Zend Framework 2.0
Юнит тестирование в Zend Framework 2.0
 
Все дороги ведут в Checkout
Все дороги ведут в CheckoutВсе дороги ведут в Checkout
Все дороги ведут в Checkout
 
1000 миллисекунд из жизни Magento
1000 миллисекунд из жизни Magento1000 миллисекунд из жизни Magento
1000 миллисекунд из жизни Magento
 
Мобильные клиенты интернет-магазинов
Мобильные клиенты интернет-магазиновМобильные клиенты интернет-магазинов
Мобильные клиенты интернет-магазинов
 
Применение компонент-ориентированной архитектуры для написания Magento Extens...
Применение компонент-ориентированной архитектуры для написания Magento Extens...Применение компонент-ориентированной архитектуры для написания Magento Extens...
Применение компонент-ориентированной архитектуры для написания Magento Extens...
 
Применение Scrum и Kanban для разработки web-приложений
Применение Scrum и Kanban для разработки web-приложенийПрименение Scrum и Kanban для разработки web-приложений
Применение Scrum и Kanban для разработки web-приложений
 
Doctrine 2
Doctrine 2Doctrine 2
Doctrine 2
 
Преимущества использования полнотекстового поиска в интернет-магазинах
Преимущества использования полнотекстового поиска в интернет-магазинахПреимущества использования полнотекстового поиска в интернет-магазинах
Преимущества использования полнотекстового поиска в интернет-магазинах
 
Система рендеринга в Magento
Система рендеринга в MagentoСистема рендеринга в Magento
Система рендеринга в Magento
 
Реализация шаблонов корпоративных приложений в Magento
Реализация шаблонов корпоративных приложений в MagentoРеализация шаблонов корпоративных приложений в Magento
Реализация шаблонов корпоративных приложений в Magento
 
NoSQL и Zend Framework (Никита Грошин)
NoSQL и Zend Framework (Никита Грошин)NoSQL и Zend Framework (Никита Грошин)
NoSQL и Zend Framework (Никита Грошин)
 
Ключ успеха – процесс или продукт?
Ключ успеха – процесс или продукт?Ключ успеха – процесс или продукт?
Ключ успеха – процесс или продукт?
 
Управление продуктом в стиле Magento Unified Process
Управление продуктом в стиле Magento Unified ProcessУправление продуктом в стиле Magento Unified Process
Управление продуктом в стиле Magento Unified Process
 
Применение TDD при разработке веб-сервисов
Применение TDD при разработке веб-сервисовПрименение TDD при разработке веб-сервисов
Применение TDD при разработке веб-сервисов
 
Индексирование в Magento
Индексирование в MagentoИндексирование в Magento
Индексирование в Magento
 
NoSQL и Zend Framework (Ростислав Михайлив)
NoSQL и Zend Framework (Ростислав Михайлив)NoSQL и Zend Framework (Ростислав Михайлив)
NoSQL и Zend Framework (Ростислав Михайлив)
 

Similar a Встречайте Zend Framework 2.0

Kolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovKolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosov
drupalconf
 
DI and Zend Framework (ZFConf2011)
DI and Zend Framework (ZFConf2011)DI and Zend Framework (ZFConf2011)
DI and Zend Framework (ZFConf2011)
Alexey Kachayev
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)
guest40e031
 
администрирование Solaris 10
администрирование Solaris 10администрирование Solaris 10
администрирование Solaris 10
iliasv
 
Comfortable drupal project development. Useful modules (Andriy Yun, studio de...
Comfortable drupal project development. Useful modules (Andriy Yun, studio de...Comfortable drupal project development. Useful modules (Andriy Yun, studio de...
Comfortable drupal project development. Useful modules (Andriy Yun, studio de...
Andriy Yun
 
Эволюция BackDoor.Flashback
Эволюция BackDoor.FlashbackЭволюция BackDoor.Flashback
Эволюция BackDoor.Flashback
hexminer
 
Алексей Горобец - Building Drupal Distributions. Why? When? and How?
Алексей Горобец - Building Drupal Distributions. Why? When? and How?Алексей Горобец - Building Drupal Distributions. Why? When? and How?
Алексей Горобец - Building Drupal Distributions. Why? When? and How?
LEDC 2016
 

Similar a Встречайте Zend Framework 2.0 (20)

Zend framework 2
Zend framework 2Zend framework 2
Zend framework 2
 
Kolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovKolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosov
 
Телепортация MODX - MODX Meetup Minsk
Телепортация MODX - MODX Meetup MinskТелепортация MODX - MODX Meetup Minsk
Телепортация MODX - MODX Meetup Minsk
 
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
 
Drupal conf2011 2_kolosov
Drupal conf2011 2_kolosovDrupal conf2011 2_kolosov
Drupal conf2011 2_kolosov
 
Инструментарий начинающего разработчика Drupal.
Инструментарий начинающего разработчика Drupal.Инструментарий начинающего разработчика Drupal.
Инструментарий начинающего разработчика Drupal.
 
DI and Zend Framework (ZFConf2011)
DI and Zend Framework (ZFConf2011)DI and Zend Framework (ZFConf2011)
DI and Zend Framework (ZFConf2011)
 
Phalcon. Что нового?
Phalcon. Что нового?Phalcon. Что нового?
Phalcon. Что нового?
 
Как быть с большими сайтами на Word press
Как быть с большими сайтами  на Word pressКак быть с большими сайтами  на Word press
Как быть с большими сайтами на Word press
 
Console application with ZF 2.0
Console application with ZF 2.0Console application with ZF 2.0
Console application with ZF 2.0
 
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)
 
администрирование Solaris 10
администрирование Solaris 10администрирование Solaris 10
администрирование Solaris 10
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in production
 
Comfortable drupal project development. Useful modules (Andriy Yun, studio de...
Comfortable drupal project development. Useful modules (Andriy Yun, studio de...Comfortable drupal project development. Useful modules (Andriy Yun, studio de...
Comfortable drupal project development. Useful modules (Andriy Yun, studio de...
 
Эволюция BackDoor.Flashback
Эволюция BackDoor.FlashbackЭволюция BackDoor.Flashback
Эволюция BackDoor.Flashback
 
Алексей Горобец - Building Drupal Distributions. Why? When? and How?
Алексей Горобец - Building Drupal Distributions. Why? When? and How?Алексей Горобец - Building Drupal Distributions. Why? When? and How?
Алексей Горобец - Building Drupal Distributions. Why? When? and How?
 
Оптимальная архитектура масштабируемого плагина WordPress на Custom Post Type...
Оптимальная архитектура масштабируемого плагина WordPress на Custom Post Type...Оптимальная архитектура масштабируемого плагина WordPress на Custom Post Type...
Оптимальная архитектура масштабируемого плагина WordPress на Custom Post Type...
 
Liferay Portal и приемы разработки
Liferay Portal и приемы разработкиLiferay Portal и приемы разработки
Liferay Portal и приемы разработки
 

Último

CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 

Último (9)

CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 

Встречайте Zend Framework 2.0