Презентация «Граков Алексей Antalika. com»

Смотреть слайды в полном размере
Презентация «Граков Алексей Antalika. com»

Вы можете ознакомиться с презентацией онлайн, просмотреть текст и слайды к ней, а также, в случае, если она вам подходит - скачать файл для редактирования или печати. Документ содержит 65 слайдов и доступен в формате ppt. Размер файла: 1.72 MB

Просмотреть и скачать

Pic.1
Граков Алексей Antalika. com
Граков Алексей Antalika. com
Pic.2
Этот доклад был прочитан на конференции Байнет 2. 2 Beta. Минск, 11-12 сентября 2008. официальный са
Этот доклад был прочитан на конференции Байнет 2. 2 Beta. Минск, 11-12 сентября 2008. официальный сайт: Этот доклад был прочитан на конференции Байнет 2. 2 Beta. Минск, 11-12 сентября 2008. …
Pic.3
Обычная разработка Cms 1 Cms 2 Super CMS Лучшая в мире CMS, потому, что я написал ее сам! Зачем что-
Обычная разработка Cms 1 Cms 2 Super CMS Лучшая в мире CMS, потому, что я написал ее сам! Зачем что-то еще?
Pic.4
«Граков Алексей Antalika. com», слайд 4
Pic.5
Потребность в фреймворках Разработка нестандартных проектов. Желание иметь под рукой хороший инструм
Потребность в фреймворках Разработка нестандартных проектов. Желание иметь под рукой хороший инструмент, который будет: - развиваться - иметь хорошую документацию - иметь качественный код - …
Pic.6
Преимущества фреймворков Один зверь, вместо зоопарка Ускорение сроков разработки Меньше внимания на
Преимущества фреймворков Один зверь, вместо зоопарка Ускорение сроков разработки Меньше внимания на мелочи, больше на бизнес логику Больший контроль над процессом и качеством разработки Хорошая …
Pic.7
Php-фреймворки: codeIgniter cakePHP Symfony Zend Framework
Php-фреймворки: codeIgniter cakePHP Symfony Zend Framework
Pic.8
Цитируемость фреймворков в поисковиках
Цитируемость фреймворков в поисковиках
Pic.9
Cake PHP
Cake PHP
Pic.10
CakePHP::Возможности Совместим с PHP4 и PHP5 MVC Своя файловая структура Своя абстракция данных (либ
CakePHP::Возможности Совместим с PHP4 и PHP5 MVC Своя файловая структура Своя абстракция данных (либо Adodb, PEAR::Db) Поддержка плагинов Валидация Scaffolding Маршрутизация запросов Компоненты / …
Pic.11
CakePHP::Обработка запросов
CakePHP::Обработка запросов
Pic.12
CakePHP::Соглашения Класс KissesAndHugsController должен храниться в файле kisses_and_hugs_controlle
CakePHP::Соглашения Класс KissesAndHugsController должен храниться в файле kisses_and_hugs_controller. php Название модели записывается в ед. числе: Book, MyBook, и т. п. Названия таблиц должны быть …
Pic.13
CakePHP::Контроллеры index – метод по умолчанию ( site. com/books/ ) Методы контроллера beforeFilter
CakePHP::Контроллеры index – метод по умолчанию ( site. com/books/ ) Методы контроллера beforeFilter – до логики beforeRender – до view afterFilter – после логики и после view
Pic.14
CakePHP::Модели Доступные методы в каждой модели: beforeFind() afterFind() beforeValidate() beforeSa
CakePHP::Модели Доступные методы в каждой модели: beforeFind() afterFind() beforeValidate() beforeSave() afterSave() beforeDelete() afterDelete()
Pic.15
CakePHP::Шаблоны Чистый PHP Smarty Место нахождения шаблона: /app/views/people/index. tpl
CakePHP::Шаблоны Чистый PHP Smarty Место нахождения шаблона: /app/views/people/index. tpl
Pic.16
CakePHP::Проекты Fileshifter. com Server: Pentium 3, 733mhz, 512MB RAM, 2TB SATA RAID. OS: Fedora Li
CakePHP::Проекты Fileshifter. com Server: Pentium 3, 733mhz, 512MB RAM, 2TB SATA RAID. OS: Fedora Linux, ext3 filesystem. Объем данных на сервере: 1. 37 TB. Ежедневный траффик: 28 GB в среднем. Время …
Pic.17
Code Igniter
Code Igniter
Pic.18
CodeIgniter Текущая версия 1. 6. 3 Гибкость Плагины / Хелперы Скаффолдинг Простота (loose coupling)
CodeIgniter Текущая версия 1. 6. 3 Гибкость Плагины / Хелперы Скаффолдинг Простота (loose coupling) MVC Поддержка PHP4 Настройка параметров автозагрузки
Pic.19
CI::Ход работы приложения
CI::Ход работы приложения
Pic.20
CodeIgniter::модели Классы моделей хранятся в папке application/models/ Класс: Model_name Имя файла:
CodeIgniter::модели Классы моделей хранятся в папке application/models/ Класс: Model_name Имя файла: application/models/user_model. php Загрузка: $this->load->model('Model_name'); …
Pic.21
CodeIgniter::Контроллеры application/config/routes. php – маршруты $route['default_controller&#
CodeIgniter::Контроллеры application/config/routes. php – маршруты $route['default_controller'] = ‘XXX_controller'; class My_class extends Controller { …. } _remap ()
Pic.22
CodeIgniter::View class Privet extends Controller { …. } Загрузка: $this->load->view('nam
CodeIgniter::View class Privet extends Controller { …. } Загрузка: $this->load->view('name');
Pic.23
Symfony
Symfony
Pic.24
Symfony::использует Creole – абстракция с БД Propel ( PDO с 1. 2) Prado для i18n Spyc YAML парсинг P
Symfony::использует Creole – абстракция с БД Propel ( PDO с 1. 2) Prado для i18n Spyc YAML парсинг Pake для командной строки(symfony 1. 0) Prototype, Script. aculo. us, Dynarch. com, TinyMCE
Pic.25
Symfony::возможности I18n, l10n, cache, валидация и т. п. Scaffolding Генерация кода AdminGenerator
Symfony::возможности I18n, l10n, cache, валидация и т. п. Scaffolding Генерация кода AdminGenerator Независимые блоки (Loose coupling) Маршрутизация Хелперы Debug
Pic.26
Symfony::особенности Все классы начинаются с ‘sf’ (стандартные) class ##MODULE_NAME##Actions extends
Symfony::особенности Все классы начинаются с ‘sf’ (стандартные) class ##MODULE_NAME##Actions extends sfActions Много различного рода конфигурационных файлов.
Pic.27
«Граков Алексей Antalika. com», слайд 27
Pic.28
Symfony::Известные проекты bookmarks. yahoo. com (20 млн пользователей) (сайт обмена играми) (сайт з
Symfony::Известные проекты bookmarks. yahoo. com (20 млн пользователей) (сайт обмена играми) (сайт знакомств) (доска объявлений)
Pic.29
«Граков Алексей Antalika. com», слайд 29
Pic.30
Zend Framework (ZF) Acl (роли и ресурсы) Auth (openId, Microsoft InfoCard) Cache / Loader Config / C
Zend Framework (ZF) Acl (роли и ресурсы) Auth (openId, Microsoft InfoCard) Cache / Loader Config / Console_Getopt (cli) Date ( i18n, l10N) / Db Filter, Validate (34) / Gdata (Zend Google Data Client) …
Pic.31
Новое в ZF 1. 6 RC1 Интеграция с Dojo Поддержка с SOAP Unit-тесты для контроллеров Поддержка индексн
Новое в ZF 1. 6 RC1 Интеграция с Dojo Поддержка с SOAP Unit-тесты для контроллеров Поддержка индексных файлов Lucene 2. 3 Zend_Session – обработчик сохранения Paginator Zend_Config_Xml – поддержка …
Pic.32
ZF в цифрах Более 7 миллионов загрузок Более 500 разработчиков Более 1000 страниц в справочнике Боле
ZF в цифрах Более 7 миллионов загрузок Более 500 разработчиков Более 1000 страниц в справочнике Более 500 примеров Более 60 проектов на SourceForge Более 30 проектов на Google Code Около 70 различных …
Pic.33
ZF::соглашения Class My_Class_Name должен находится в файле: My/Class/Name. php Cтиль кода во многом
ZF::соглашения Class My_Class_Name должен находится в файле: My/Class/Name. php Cтиль кода во многом совпадает со стилями PEAR
Pic.34
ZF::Front Controller Pattern
ZF::Front Controller Pattern
Pic.35
«Граков Алексей Antalika. com», слайд 35
Pic.36
ZF::Модели Zend_Db_Table PDO $db = Zend_Db::factory($cfgDb->type, $params); Zend_Db_Table::setDef
ZF::Модели Zend_Db_Table PDO $db = Zend_Db::factory($cfgDb->type, $params); Zend_Db_Table::setDefaultAapter($db); Zend_Registry::set("DB", $db);
Pic.37
ZF::Контроллеры Zend_Controller_Action ErrorHandler plugin ViewRenderer action helper plugin preDisp
ZF::Контроллеры Zend_Controller_Action ErrorHandler plugin ViewRenderer action helper plugin preDispatch postDispatch Init
Pic.38
ZF::View interface Zend_View_Interface public function render($name); public function assign($name);
ZF::View interface Zend_View_Interface public function render($name); public function assign($name); Zend_View_Abstract basePath, filters, helpers, _setHelperClass (filter) …
Pic.39
ZF::Проекты – движок для e-commerce, 0. 5млн скачиваний, 30K users, 70 партнеров, 60+ языков, 150+ р
ZF::Проекты – движок для e-commerce, 0. 5млн скачиваний, 30K users, 70 партнеров, 60+ языков, 150+ расширений (no java!) RightMedia – online реклама (NY) 4-5млрд показов в день, 100K запросов/с, 19K …
Pic.40
Производительность Почти Hello World test ;-)
Производительность Почти Hello World test ;-)
Pic.41
Обычная страница без ORM Ыф Вид теста: ab –n 1000 –c XXX 512 ram, Intel Pentium 14oo MHz, Windows XP
Обычная страница без ORM Ыф Вид теста: ab –n 1000 –c XXX 512 ram, Intel Pentium 14oo MHz, Windows XP
Pic.42
«Граков Алексей Antalika. com», слайд 42
Pic.43
Ыф 512Mb RAM 1. 8Ghz AMD Sempron под Ubuntu Gutsy (7. 10)
Ыф 512Mb RAM 1. 8Ghz AMD Sempron под Ubuntu Gutsy (7. 10)
Pic.44
Symfony performance
Symfony performance
Pic.45
Проект на Zend Framework
Проект на Zend Framework
Pic.46
ZF::Пример проекта. Создаем сайт-сообщество. Несколько языков, несколько доменов, различные уровни д
ZF::Пример проекта. Создаем сайт-сообщество. Несколько языков, несколько доменов, различные уровни доступа к ресурсам, маршрутизация, ORM.
Pic.47
Организация разработки Zend Studio for Eclipse (или просто phpEclipse) Cruise Control + phpUnderCont
Организация разработки Zend Studio for Eclipse (или просто phpEclipse) Cruise Control + phpUnderControl PHPUnit (Себастьян Бергман) Smarty SVN Ajax: xajax/jQuery/Dojo/Prototype/и т. д. Firebug + …
Pic.48
Zend_Config site. ru. xml site. eu. xml site. zone. xml <languages> <language>en</lan
Zend_Config site. ru. xml site. eu. xml site. zone. xml <languages> <language>en</language> <language>ru</language> </languages>
Pic.49
bootstrap. php initView(); initRoutes(); initFrontend();
bootstrap. php initView(); initRoutes(); initFrontend();
Pic.50
$view = new Socnet_View_Smarty(); $vRender = new Zend_Controller_Action_Helper_ViewRenderer($view);
$view = new Socnet_View_Smarty(); $vRender = new Zend_Controller_Action_Helper_ViewRenderer($view); $vRender->setViewBasePathSpec( dirname(__FILE__). '/V/smarty/templates') …
Pic.51
Auth: $authAdapter = new Zend_Auth_Adapter_DbTable( $db, 'user', 'login', '
Auth: $authAdapter = new Zend_Auth_Adapter_DbTable( $db, 'user', 'login', 'pass'); Zend_Registry::set("Auth", $authAdapter); Class myAdapter extends …
Pic.52
ACL $roleAdmin = new Zend_Acl_Role(Socnet_Auth_Acl::ADMIN); $this->addRole($roleAdmin, $roleMembe
ACL $roleAdmin = new Zend_Acl_Role(Socnet_Auth_Acl::ADMIN); $this->addRole($roleAdmin, $roleMember); $this->addResource('forum/topic'); $this->deny(null, null); // Запрет всем для …
Pic.53
Маршрутизация $route = new Zend_Controller_Router_Route(ajax/:widgetName/:widgetAction', array(
Маршрутизация $route = new Zend_Controller_Router_Route(ajax/:widgetName/:widgetAction', array( 'controller' => ‘ajax', 'action' => 'index', …
Pic.54
«Граков Алексей Antalika. com», слайд 54
Pic.55
Unit-тестирование /tests Auth Controller Domain Model Members AllTests. php setUpEnvinronment. php
Unit-тестирование /tests Auth Controller Domain Model Members AllTests. php setUpEnvinronment. php
Pic.56
«Граков Алексей Antalika. com», слайд 56
Pic.57
«Граков Алексей Antalika. com», слайд 57
Pic.58
Модели /generated |- BaseModelName ParticularModel extends BaseModelName phpDoctrine . yml fixtures
Модели /generated |- BaseModelName ParticularModel extends BaseModelName phpDoctrine . yml fixtures
Pic.59
if (extension_loaded('memcache')) { $frontendOptions = array( 'lifetime' => 7
if (extension_loaded('memcache')) { $frontendOptions = array( 'lifetime' => 7200, // cache lifetime of 2 hours 'automatic_serialization' => true ); $backendOptions …
Pic.60
Диспетчеризация extends Zend_Controller_Dispatcher_Standard $action = $this->getActionMethod($req
Диспетчеризация extends Zend_Controller_Dispatcher_Standard $action = $this->getActionMethod($request); $doCall = !method_exists($controller, $action); $request->setDispatched(true); …
Pic.61
motofriends. ru
motofriends. ru
Pic.62
«Граков Алексей Antalika. com», слайд 62
Pic.63
Полезные ссылки Cakephp. org (cake-php. ru) – сайт фреймворка Cakeforge. com – набор готовых проекто
Полезные ссылки Cakephp. org (cake-php. ru) – сайт фреймворка Cakeforge. com – набор готовых проектов на cake codeigniter. com (code-igniter. ru) – сайт фреймворка symfony-project. org - сайт …
Pic.64
(архитектура Zend’a) (слои в архитектуре) (Zend Platform – aka Php Application Server – стоит почита
(архитектура Zend’a) (слои в архитектуре) (Zend Platform – aka Php Application Server – стоит почитать) (много интересных статей) (сравнение CodeIgniter с Cake) (матрица JS-фреймворков) (Symfony: 1st …
Pic.65
Есть вопросы? alex@antalika. com Icq: 286-41-77-45 Skype: horal777 Алексей Граков
Есть вопросы? alex@antalika. com Icq: 286-41-77-45 Skype: horal777 Алексей Граков


Скачать презентацию

Если вам понравился сайт и размещенные на нем материалы, пожалуйста, не забывайте поделиться этой страничкой в социальных сетях и с друзьями! Спасибо!