<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-829452552113894002</id><updated>2024-09-22T14:05:16.030+03:00</updated><category term="Zend Framework"/><category term="TDD"/><category term="ООП"/><category term="Dependency Injection"/><category term="Doctrine2"/><category term="IoC"/><category term="Domain Model"/><category term="MVC"/><category term="PHP"/><category term="Symfony DI-контейнер"/><category term="Фаулер"/><category term="паттерны"/><category term="Best Practics"/><category term="Service Layer"/><category term="Service Locator"/><category term="design"/><category term="Autoloding"/><category term="Mock Objects"/><category term="Mockery"/><category term="Project Managment System"/><category term="Redmine"/><category term="SOLID"/><category term="Unit tests"/><category term="Zend_Acl"/><category term="Zend_Cache"/><category term="linux vds debian"/><title type='text'>yugeon development zone</title><subtitle type='html'>Полезные мне (а может и еще кому) заметки.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-5666254019122426199</id><published>2014-05-29T17:55:00.001+04:00</published><updated>2014-05-29T17:55:39.100+04:00</updated><title type='text'></title><summary type="text">http://feedback.fl.ru/topic/452337-skorej-vsego-moj-akk-vzlomali/#</summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/5666254019122426199/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2014/05/httpfeedback.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/5666254019122426199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/5666254019122426199'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2014/05/httpfeedback.html' title=''/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-9038972728348194487</id><published>2010-11-03T15:02:00.004+03:00</published><updated>2010-11-21T14:57:04.491+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux vds debian"/><title type='text'>Настройка своего сервера debian/ubuntu</title><summary type="text">Мини шпаргалка по настройки полноценного сервера на основе дистрибутивов Linux Debian/Ubuntu. В инете полно такого материала, но везде по чуть-чуть, приходится тратить время на поиск инфы, здесь постарался собрать все что потребуется для запуска своего сервера.
Предполагается что вы только что установили минимальный дистрибутив Дебиана и законнектились по ssh.


1. Обновим список пакетов
deb http</summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/9038972728348194487/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2010/11/debianubuntu.html#comment-form' title='Комментарии: 10'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/9038972728348194487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/9038972728348194487'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2010/11/debianubuntu.html' title='Настройка своего сервера debian/ubuntu'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-5918940974669205241</id><published>2010-10-03T00:48:00.003+04:00</published><updated>2010-10-18T17:47:51.420+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Doctrine2"/><category scheme="http://www.blogger.com/atom/ns#" term="Domain Model"/><category scheme="http://www.blogger.com/atom/ns#" term="MVC"/><category scheme="http://www.blogger.com/atom/ns#" term="Zend Framework"/><category scheme="http://www.blogger.com/atom/ns#" term="Zend_Acl"/><title type='text'>Организация Модели. Управление доступом</title><summary type="text">Введение
Продолжаем размышления на тему организации модели и сегодня поговорим об управлении доступом или другими словами - авторизации, т.е. процесса проверки (предоставления) определенному лицу прав на выполнение некоторых действий.

Эта тема особенно важна для интернет/интранет приложений, где число пользователей заранее неизвестно, а количество различных операций и ресурсов велико. Как и в </summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/5918940974669205241/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2010/10/blog-post.html#comment-form' title='Комментарии: 9'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/5918940974669205241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/5918940974669205241'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2010/10/blog-post.html' title='Организация Модели. Управление доступом'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSvZ4eA2DtK30zTIAkjVxycRgpdbyS_bs2rXIVp8uubZU-a-NzYKvD4zE8h7QPdyePxlM9G_fmpJ9HZXtR5IfEgaah8GDDy34lohY8FQrvEs2pMq7Ww_MJk1d2JP9x25jecE9tq4qyQP0/s72-c/RBAC_0.png" height="72" width="72"/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-3734314323274055924</id><published>2010-09-08T14:28:00.000+04:00</published><updated>2010-09-08T14:28:55.334+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Domain Model"/><category scheme="http://www.blogger.com/atom/ns#" term="MVC"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="Service Layer"/><category scheme="http://www.blogger.com/atom/ns#" term="Zend Framework"/><title type='text'>Организация Модели: Валидация данных.</title><summary type="text">ВведениеЭта статья является продолжением рассуждений на тему&amp;nbsp; организации модели и посвящена организации процесса валидации данных. И не смотря на то, что практическая часть выполнена на Zend Framework, приведенные рассуждения в равной степени могут быть применены к любому фреймворку и даже платформе.

Большинство данных поступает в модель из внешнего мира, через html-формы, различные </summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/3734314323274055924/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2010/09/blog-post.html#comment-form' title='Комментарии: 7'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/3734314323274055924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/3734314323274055924'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2010/09/blog-post.html' title='Организация Модели: Валидация данных.'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu3Z8zoQ-gwfIMIkNaeGyqYckVuMKsy-0EmSo-smSELRsZjl-Lt7Z9a6SddSnVzRxG-Oi0DHzyztWI4YK3eZ7xtePcrQeigJwVzONqQn1i1Mt0z3-PM4ke-OFuOT6oASeb6hrklK1YQVQ/s72-c/Data.png" height="72" width="72"/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-6645639015698547326</id><published>2010-09-07T02:26:00.001+04:00</published><updated>2010-09-07T02:30:27.663+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Best Practics"/><category scheme="http://www.blogger.com/atom/ns#" term="Doctrine2"/><category scheme="http://www.blogger.com/atom/ns#" term="Domain Model"/><category scheme="http://www.blogger.com/atom/ns#" term="MVC"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="Service Layer"/><category scheme="http://www.blogger.com/atom/ns#" term="Zend Framework"/><category scheme="http://www.blogger.com/atom/ns#" term="ООП"/><category scheme="http://www.blogger.com/atom/ns#" term="Фаулер"/><category scheme="http://www.blogger.com/atom/ns#" term="паттерны"/><title type='text'>Организация Модели в Zend Framework</title><summary type="text">Введение 

Этой статьей я хочу начать небольшой цикл заметок и мыслей об  организации модели&amp;nbsp; в Zend Framework. Тем более что сам фреймворк мало что предлагает в решении этого вопроса. Как говорят разработчики фреймворка: Модель - это то что вы должны реализовать сами, это ваша работа.

Возникают вопросы, а как реализовывать модель, как это сделать правильно? Единого ответа нет, т.к. Модель </summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/6645639015698547326/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2010/09/zend-framework.html#comment-form' title='Комментарии: 5'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/6645639015698547326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/6645639015698547326'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2010/09/zend-framework.html' title='Организация Модели в Zend Framework'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-4064326216270800449</id><published>2010-08-28T03:39:00.001+04:00</published><updated>2010-08-28T20:21:28.515+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Autoloding"/><category scheme="http://www.blogger.com/atom/ns#" term="TDD"/><category scheme="http://www.blogger.com/atom/ns#" term="Zend Framework"/><title type='text'>Поддержка PHP 5.3 Namespaces для Zend Framework 1.10</title><summary type="text">Введение

Этот пост посвящен продолжению разработки CMF на базе Zend Framework 1.10.x.&amp;nbsp;
Так  как проект совсем на начальной стадии, частенько приходится переносить  файлы внутри проекта по разным каталогам, т.к. структура еще не  устоявшаяся. И вот после очередного переноса, опять пришлось лазить по  коду и переименовывать кучу классов, что бы они соответствовали своему  новому расположению.</summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/4064326216270800449/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2010/08/php-53-namespaces-zend-framework-110.html#comment-form' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/4064326216270800449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/4064326216270800449'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2010/08/php-53-namespaces-zend-framework-110.html' title='Поддержка PHP 5.3 Namespaces для Zend Framework 1.10'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-2987808067963331612</id><published>2010-08-21T20:57:00.000+04:00</published><updated>2010-08-21T20:57:34.158+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Mock Objects"/><category scheme="http://www.blogger.com/atom/ns#" term="Mockery"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="TDD"/><category scheme="http://www.blogger.com/atom/ns#" term="Unit tests"/><category scheme="http://www.blogger.com/atom/ns#" term="ООП"/><title type='text'>Перевод документации для Mockery</title><summary type="text">Mockery - это объектно-ориентированный PHP фреймворк для mock-объектов, написанный Pádraic Brady одним из участников Zend Framework Community Review Team (CR Team).&amp;nbsp;&amp;nbsp;Mockery сделан как независимый фреймворк и поэтому совместим с любым фреймворком для модульного тестирования (PHPUnit, SimpleTest...).
Вот небольшой список характеристик и возможностей Mockery:Полная поддержка Mock-объектов</summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/2987808067963331612/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2010/08/mockery.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/2987808067963331612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/2987808067963331612'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2010/08/mockery.html' title='Перевод документации для Mockery'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-8078711424009831504</id><published>2010-08-18T13:36:00.000+04:00</published><updated>2010-08-18T13:36:05.211+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Best Practics"/><category scheme="http://www.blogger.com/atom/ns#" term="ООП"/><title type='text'>Памятка по исключениям php 5.3+</title><summary type="text">Начиная с PHP версии 5.3.0+ прикладному разработчику по умолчанию доступна библиотека SPL (Standart PHP Library), которую теперь даже нельзя отключить опциями компиляции. В связи с этим, можно безопасно пользоваться решениями предоставляемыми этим расширением. В этой заметке я хотел бы осветить набор стандартных исключений, предоставляемых SPL.
Начиная с PHP 5 появилась встроенная поддержка </summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/8078711424009831504/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2010/08/php-53.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/8078711424009831504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/8078711424009831504'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2010/08/php-53.html' title='Памятка по исключениям php 5.3+'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqTOH7Evao826hjG7n-MKtwobaOhk4epDrErlhCZTXgRkf36C2UyFMeirz4Y2dQ-Xz5mU4w7mRxMsjQX-4Fdz2iz37kMrLBTrwNUrPf0G21fnTizGc2mchgC7NT7c450PEhwAsZWYvfdM/s72-c/Exceptions.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-1379445579060091121</id><published>2010-08-12T18:33:00.001+04:00</published><updated>2010-08-12T20:48:39.310+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Doctrine2"/><category scheme="http://www.blogger.com/atom/ns#" term="Symfony DI-контейнер"/><category scheme="http://www.blogger.com/atom/ns#" term="TDD"/><category scheme="http://www.blogger.com/atom/ns#" term="Zend Framework"/><category scheme="http://www.blogger.com/atom/ns#" term="Zend_Cache"/><category scheme="http://www.blogger.com/atom/ns#" term="ООП"/><category scheme="http://www.blogger.com/atom/ns#" term="паттерны"/><title type='text'>Кеш-драйвер для Doctrine на основе Zend_Cache</title><summary type="text">Продолжаем серию статей посвященную интеграции Doctrine 2.0 и Zend Framework 1.10. В этой статье мы добавим поддержку кеш-драйвера для Doctrine на основе Zend_Cache.Введение 
Кеш-драйвер очень важная часть Doctrine, т.к. без кеширования метаданных и запросов, производительность в целом может существенно упасть. Поэтому разработчики строго рекомендуют использовать кеш.
По умолчанию, в доктрине </summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/1379445579060091121/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2010/08/doctrine-zendcache.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/1379445579060091121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/1379445579060091121'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2010/08/doctrine-zendcache.html' title='Кеш-драйвер для Doctrine на основе Zend_Cache'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-5734618586030800109</id><published>2010-08-11T14:57:00.003+04:00</published><updated>2010-08-16T21:16:31.793+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dependency Injection"/><category scheme="http://www.blogger.com/atom/ns#" term="design"/><category scheme="http://www.blogger.com/atom/ns#" term="Doctrine2"/><category scheme="http://www.blogger.com/atom/ns#" term="IoC"/><category scheme="http://www.blogger.com/atom/ns#" term="Symfony DI-контейнер"/><category scheme="http://www.blogger.com/atom/ns#" term="TDD"/><category scheme="http://www.blogger.com/atom/ns#" term="Zend Framework"/><title type='text'>Интеграция Zend Framework 1.10 и Doctrine 2.0</title><summary type="text">В этой статье я продолжу разработку некого каркаса приложения на Zend Framework&#39;e, придерживаясь лучших практик из мира объектно-ориентированного проектирования. Мы шаг за шагом будем интегрировать Doctrine 2, а поможет нам Dependency Injection контейнер, который мы успешно интегрировали в  предыдущей  статье.


Подготовка
Для лучшего понимания материала, советую ознакомиться с документацией по </summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/5734618586030800109/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2010/08/zend-framework-110-doctrine-20.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/5734618586030800109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/5734618586030800109'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2010/08/zend-framework-110-doctrine-20.html' title='Интеграция Zend Framework 1.10 и Doctrine 2.0'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx6irsmG35lU4-0urHposoimIAenJVVZP2b_Wsrr-OnoN2l31UFawdH18ezqo-RxxtSUvuDQFZJdyOyTut-2TOmvvG870MIe-2CGLFXqYimDemk9-BU7KsvUbcD7Lx4OJMEm9EDb57S-w/s72-c/library_folder.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-5456448295026024649</id><published>2010-08-07T18:24:00.013+04:00</published><updated>2010-08-10T17:24:35.153+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dependency Injection"/><category scheme="http://www.blogger.com/atom/ns#" term="IoC"/><category scheme="http://www.blogger.com/atom/ns#" term="Symfony DI-контейнер"/><category scheme="http://www.blogger.com/atom/ns#" term="TDD"/><category scheme="http://www.blogger.com/atom/ns#" term="Zend Framework"/><title type='text'>Интеграция Symfony DI-контейнера в Zend Framework 1.10.x</title><summary type="text">Возникло у меня желание, начать новый проект на Zend Framework&#39;е с применением лучших практик из мира объектно-ориентированной разработки ПО и современных тенденций PHP-индустрии. Целью всего этого является конечно же обучение и закрепление изученного материала.

Первым делом, решил интегрировать Dependency Injection контейнер в Zend Framework.&amp;nbsp; Ибо без этого трудно добиться &quot;хорошего&quot; </summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/5456448295026024649/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2010/08/symfony-di-zend-framework-110x.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/5456448295026024649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/5456448295026024649'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2010/08/symfony-di-zend-framework-110x.html' title='Интеграция Symfony DI-контейнера в Zend Framework 1.10.x'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-3892861775631536802</id><published>2010-07-25T14:50:00.068+04:00</published><updated>2010-08-08T15:34:55.051+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Project Managment System"/><category scheme="http://www.blogger.com/atom/ns#" term="Redmine"/><title type='text'>Установка Redmine - системы управления проектами</title><summary type="text">Мысль организовать свой процесс более упорядоченно  и систематизировано витала давно. Долгое время пользовался бесплатными хостингами проектов, наподобие http://www.assembla.com/ и http://www.xp-dev.com/. В принципе для open-source проектов отличные решения. А вот для приватных проектов - на ассембле придется платить, а на xp-dev нельзя гибко настраивать доступ к проекту, либо полностью открытый </summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/3892861775631536802/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2010/07/redmine.html#comment-form' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/3892861775631536802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/3892861775631536802'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2010/07/redmine.html' title='Установка Redmine - системы управления проектами'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-6832586906466638895</id><published>2010-07-24T04:25:00.003+04:00</published><updated>2010-08-01T00:26:58.700+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dependency Injection"/><category scheme="http://www.blogger.com/atom/ns#" term="IoC"/><category scheme="http://www.blogger.com/atom/ns#" term="Service Locator"/><category scheme="http://www.blogger.com/atom/ns#" term="Фаулер"/><title type='text'>Продолжение перевода статьи М. Фаулера &quot;Inversion of Control Containers and the Dependency Injection pattern&quot;</title><summary type="text">Продолжение перевода статьи Мартина Фаулера &quot;Inversion of Control Containers and the Dependency Injection pattern&quot;  оригинал которой доступен здесь. Первая часть доступна здесь.



Использование Service Locator

Главное преимущество Dependency Injector в том, что убирается зависимость класса MovieLiester от конкретной реализации средства поиска MovieFinder. Это позволяет мне дать список фильмов </summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/6832586906466638895/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2010/07/blog-post.html#comment-form' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/6832586906466638895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/6832586906466638895'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2010/07/blog-post.html' title='Продолжение перевода статьи М. Фаулера &quot;Inversion of Control Containers and the Dependency Injection pattern&quot;'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU6rqo9J8C_OxeFqhaU3bwCSPcs62T-dG5pkxhdQTMVRFXionKfUcce4hGTQYnVigBf65upEWnyX6GDNHYTQZhEmRmR7jvMYuJFWr0XRey0psViMvm4IabTt-dNkBb7yUmNqB-6pPWq0o/s72-c/figure3.jpeg" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-6151496504584915645</id><published>2010-07-21T22:35:00.011+04:00</published><updated>2010-07-28T02:31:12.831+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dependency Injection"/><category scheme="http://www.blogger.com/atom/ns#" term="IoC"/><category scheme="http://www.blogger.com/atom/ns#" term="Service Locator"/><category scheme="http://www.blogger.com/atom/ns#" term="Фаулер"/><title type='text'>Вольный перевод статьи Мартина Фаулера &quot;Inversion of Control Containers and the Dependency Injection pattern&quot;</title><summary type="text">Попытки разобраться с принципом ООП Инверсия зависимостей (Dependency Inversion Principle) привели к статье Мартина Фаулера &quot;Inversion of Control Containers and the Dependency Injection pattern&quot; оригинал которой доступен здесь. Поиски перевода на русский язык не увенчались успехом, поэтому решил сделать перевод, заодно и лучше понять эту статью и сам принцип.

Inversion of Control Containers and </summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/6151496504584915645/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2010/07/inversion-of-control-containers-and_21.html#comment-form' title='Комментарии: 13'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/6151496504584915645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/6151496504584915645'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2010/07/inversion-of-control-containers-and_21.html' title='Вольный перевод статьи Мартина Фаулера &quot;Inversion of Control Containers and the Dependency Injection pattern&quot;'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI-jekw187pcy9yl7fj8i1ulH7jqhj6RV_iuzZ_0dplZq29z464ak-PHI9ZyXwcmc3yCWwnQPQ6JbRLae60CCC1K18w4wXKITTwHS3MWMgiFvbTRgfA01wdyqfDT3ylMWT1_bn9JU3l5s/s72-c/figure1.jpeg" height="72" width="72"/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-829452552113894002.post-2884903682218944517</id><published>2010-07-20T18:47:00.006+04:00</published><updated>2010-08-01T00:22:25.871+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="design"/><category scheme="http://www.blogger.com/atom/ns#" term="SOLID"/><category scheme="http://www.blogger.com/atom/ns#" term="ООП"/><category scheme="http://www.blogger.com/atom/ns#" term="паттерны"/><title type='text'>ООП. Введение в хороший дизайн.</title><summary type="text">Решил разобраться с принципами объектно-ориентированного проектирования,&amp;nbsp; соблюдение которых приводит к &quot;хорошему&quot; дизайну. По-крайней мере, уж точно не приводит к &quot;плохому&quot; дизайну.

Признаки &quot;плохого&quot; дизайна:
Закрепощенность: система с трудом поддается изменениям,  поскольку любое изменение вызывает эффект &quot;снежного кома&quot;,  затрагивающего другие компоненты системы.
Неустойчивость: в </summary><link rel='replies' type='application/atom+xml' href='http://yugeon-dev.blogspot.com/feeds/2884903682218944517/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yugeon-dev.blogspot.com/2010/07/inversion-of-control-containers-and.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/2884903682218944517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/829452552113894002/posts/default/2884903682218944517'/><link rel='alternate' type='text/html' href='http://yugeon-dev.blogspot.com/2010/07/inversion-of-control-containers-and.html' title='ООП. Введение в хороший дизайн.'/><author><name>yugeon</name><uri>http://www.blogger.com/profile/15979496113141773371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbf9wIAuXFY04Coj675K-ymr95yp2zzWHIuSEPLPOg9gKE2s4Dq2OBzoEMYQpeIPLjQg7yNn0W7HtLBhlw-VZ0QLrdtSnqydaa2nFk86oERRxs8gvrUtH1nu7DMLoeKWA/s220/yugeon.jpg'/></author><thr:total>0</thr:total></entry></feed>