<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Блог маленького, но очень отважного программиста &#187; Программирование на PHP</title>
	<atom:link href="http://xo66ut.ru/archives/category/php/feed" rel="self" type="application/rss+xml" />
	<link>http://xo66ut.ru</link>
	<description>PHP, MySQL, Javascript, JQuery, ExtJS, UML, и другие интернетости...…</description>
	<lastBuildDate>Tue, 04 Oct 2011 08:40:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>codelifehack: Особенности работы со строками в PHP</title>
		<link>http://xo66ut.ru/archives/632</link>
		<comments>http://xo66ut.ru/archives/632#comments</comments>
		<pubDate>Tue, 04 Oct 2011 08:38:18 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[codelifehack]]></category>
		<category><![CDATA[Программирование на PHP]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=632</guid>
		<description><![CDATA[Сложение строковых переменных содержащих цифры.
Что делает?
При сложении двух переменных типа String, содержащих в начале этих переменных цифры, эти цифры складываются.
Пример:


$a = &#34;1500 стр.&#34;;

$b = &#34;2500 стр.&#34;;

echo $a + $b; // 4000

Возможная проблема при использовании.
Данная особенность языка работает только, если цифры находятся сначала строки, если это не так ($a = &#8220;количество 1500 страниц&#8221;), то сложения цифровых [...]]]></description>
			<content:encoded><![CDATA[<h2>Сложение строковых переменных содержащих цифры.</h2>
<h3>Что делает?</h3>
<p>При сложении двух переменных типа <em>String</em>, содержащих в начале этих переменных цифры, эти цифры складываются.</p>
<h3>Пример:</h3>
<pre class="brush: php;">

$a = &quot;1500 стр.&quot;;

$b = &quot;2500 стр.&quot;;

echo $a + $b; // 4000
</pre>
<h3>Возможная проблема при использовании.</h3>
<p>Данная особенность языка работает только, если цифры находятся сначала строки, если это не так (<strong>$a = &#8220;количество 1500 страниц&#8221;</strong>), то сложения цифровых частей строки не произойдет, отбрасывается только правая часть.</p>
<h3>Применение.</h3>
<p>Основная польза от применения это скорость в сравнении с применением регулярного выражения (<strong>&#8220;/[0-9]{1,}/i&#8221;</strong>).  Однако будьте внимательны и применяйте, когда точно уверены, что символов перед цифрами не будет</p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=632&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/632/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Снова Zend_Date и локализация</title>
		<link>http://xo66ut.ru/archives/565</link>
		<comments>http://xo66ut.ru/archives/565#comments</comments>
		<pubDate>Wed, 19 Jan 2011 17:26:41 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Программирование на PHP]]></category>
		<category><![CDATA[Zend_Date]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=565</guid>
		<description><![CDATA[
Небольшой lifehack zendhack, по получению списка названий месяцев\дней для отображения в view.
Как нам всем известно русский язык очень сильно отличается от других языков, а самое главное он кардинально отличается от английского. В Zend_Framework, как и во многих других фреймворках локализация и функции локализации сделаны с оглядкой на английский язык. Иногда это становится причиной проблем.
Проблема
Я столкнулся [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><img class="aligncenter size-full wp-image-491" style="border: 0pt none;" title="zend_framework" src="http://xo66ut.ru/wp-content/uploads/2010/08/zend_framework2.jpg" alt="zend_framework" width="282" height="174" /></div>
<p>Небольшой <span style="text-decoration: line-through;">lifehack</span> zendhack, по получению списка названий месяцев\дней для отображения в view.</p>
<p>Как нам всем известно русский язык очень сильно отличается от других языков, а самое главное он кардинально отличается от английского. В Zend_Framework, как и во многих других фреймворках локализация и функции локализации сделаны с оглядкой на английский язык. Иногда это становится причиной проблем.</p>
<h2>Проблема</h2>
<p>Я столкнулся со следующей, мне необходимо было вывести список названий месяцев в году, все бы хорошо, но в русском языке названия месяцев могут быть не только в именительном падеже, но и в родительном, в отличие от английского (<em>February, Февраль -&gt; Февраля</em>). А Zend_Framework в результате  следующего кода:</p>
<pre class="brush: php;">
$datearray = array('year' =&gt; $date-&gt;toString(&quot;yyyy&quot;), 'month' =&gt; '2');
$other_date = new Zend_Date($datearray);
$other_date-&gt;get(Zend_Date::MONTH_NAME);
</pre>
<p>выводит только месяц в родительном падеже.</p>
<h2>Решение</h2>
<p>Покопавшись в классе Date метода для вывода месяца в именительном падеже я не нашел. Тогда я полез в xml файл с переводом (Zend/Locale/Data/ru.xml) и там увидел, что раздел с месяцами в именительном падеже присутствует. Посмотрев как обычные методы Zend_Date получают информацию из файла с переводом, я нашел способ как можно вывести имя месяца.</p>
<pre class="brush: php;">
Zend_Locale_Data::getContent(&quot;ru_RU&quot;, 'month', array('gregorian', 'stand-alone', 'wide', $i));
</pre>
<p>где <strong>$i</strong> &#8211; номер месяца без лидирующего нуля (1..12)<br />
Кстати таким образом можно выводить любые данные из файла с переводом, просто идя по DOM структуре XML файла.</p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=565&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/565/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Форматирование даты средствами Zend_Framework и не только.</title>
		<link>http://xo66ut.ru/archives/554</link>
		<comments>http://xo66ut.ru/archives/554#comments</comments>
		<pubDate>Mon, 10 Jan 2011 17:11:27 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Программирование на PHP]]></category>
		<category><![CDATA[Zend_Date]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=554</guid>
		<description><![CDATA[
В любом нормальном проекте не избежать форматирования даты, чтобы не тратить время на реализацию своих методов и функций я хочу рассказать как быстро отформатировать дату средствами MySQL и Zend_Date.
Форматирование с помощью Zend_Date.
Для быстрого форматирования даты при выводе ее пользователю я предлагаю создать помощник вида.
Для этого создаем простой viewHelper (application/view/helpers), я назвал его DateHelper:

&#60;?php
/**
 *
 * [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><img class="aligncenter size-full wp-image-491" style="border: 0pt none;" title="zend_framework" src="http://xo66ut.ru/wp-content/uploads/2010/08/zend_framework2.jpg" alt="zend_framework" width="282" height="174" /></div>
<p>В любом нормальном проекте не избежать форматирования даты, чтобы не тратить время на реализацию своих методов и функций я хочу рассказать как быстро отформатировать дату средствами MySQL и Zend_Date.</p>
<h2>Форматирование с помощью Zend_Date.</h2>
<p>Для быстрого форматирования даты при выводе ее пользователю я предлагаю создать помощник вида.<br />
Для этого создаем простой viewHelper (application/view/helpers), я назвал его <strong>DateHelper</strong>:</p>
<pre class="brush: php;">
&lt;?php
/**
 *
 * @author Roman
 * @version
 */
require_once 'Zend/View/Interface.php';
/**
 * DateHelper helper
 *
 * @uses viewHelper Zend_View_Helper
 */
class Zend_View_Helper_DateHelper
{
    /**
     * @var Zend_View_Interface
     */
    public $view;
    /**
     *
     */
    public function dateHelper($date_value, $format)
    {
        $locale = Zend_Registry::get('Zend_Locale');
        $date = new Zend_Date($date_value, false, $locale);
        return $date-&gt;toString($format);
    }
    /**
     * Sets the view field
     * @param $view Zend_View_Interface
     */
    public function setView (Zend_View_Interface $view)
    {
        $this-&gt;view = $view;
    }
}
</pre>
<p>Теперь мы можем использовать его в view скрипте следующим образом:</p>
<pre class="brush: php;">
$unformated_data = &quot;2011-01-30 12:21:11&quot;;
$this-&gt;dateHelper($unformated_data, &quot;dd MMMM&quot;); ?&gt;
</pre>
<p>Дата будет отформатирована в &#8220;<em>30 January</em>&#8220;. Для того чтобы дата выводилась с учетом локали (языка) нужно в файле <strong>Bootstrap.php</strong> добавить метод:</p>
<pre class="brush: php;">
protected function _initLocale()
{
    $locale = new Zend_Locale('ru_RU');
    Zend_Registry::set('Zend_Locale', $locale);
}
</pre>
<p>В данном случае наш помощник вида выведет &#8220;<em>30 января</em>&#8220;. Модификаторы даты можно посмотреть <a href="http://framework.zend.com/manual/1.11/ru/zend.date.constants.html">тут</a>.</p>
<h2>Форматирование средствами СУБД MySQL.</h2>
<p>Если вы получаете дату из базы, то не стоит забывать о встроенном форматировании даты в MySQL и других СУБД.</p>
<pre class="brush: plain;">
DATE_FORMAT('2011-01-30 12:21:11', '%d %M') AS FIELD_1
</pre>
<p>Функция <strong>DATE_FORMAT</strong> вернет нам &#8220;<em>30 January</em>&#8220;, подробнее модификаторы можно посмотреть <a href="http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date-format">тут </a></p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=554&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/554/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Работа с DB в Zend Framework</title>
		<link>http://xo66ut.ru/archives/489</link>
		<comments>http://xo66ut.ru/archives/489#comments</comments>
		<pubDate>Fri, 27 Aug 2010 15:06:26 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Программирование на PHP]]></category>
		<category><![CDATA[ООП]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=489</guid>
		<description><![CDATA[
Не так давно, начал разбираться с Zend Framework, в этом очень помогают скринкасты от Jon Lobenlsold. Документация на офф сайте скудная и раскрывает только частные понятия отдельных классов, которые в принципе итак показываются с помощью той же IntelliSense Eclipse.
Подвигло меня написать этот пост следующее, я не мог понять как лучше коннектиться к базе, возможно мое [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><img class="aligncenter size-full wp-image-491" style="border: 0pt none;" title="zend_framework" src="http://xo66ut.ru/wp-content/uploads/2010/08/zend_framework2.jpg" alt="zend_framework" width="282" height="174" /></div>
<p>Не так давно, начал разбираться с Zend Framework, в этом очень помогают <a href="http://www.zendcasts.com/" target="_blank">скринкасты </a>от Jon Lobenlsold. Документация на офф сайте скудная и раскрывает только частные понятия отдельных классов, которые в принципе итак показываются с помощью той же IntelliSense Eclipse.<br />
Подвигло меня написать этот пост следующее, я не мог понять как лучше коннектиться к базе, возможно мое решение поможет новичкам в ZF, таким же как и я. Я видел решение с созданием <strong><em>Helper</em></strong>&#8216;а, но как выяснилось все намного проще. Как показала практика решение с <strong><em>Helper </em></strong>подходит только тогда, когда коннект к базе происходит из Контроллеров. Я же хочу делать запросы из собственного класса, который лежит у меня в папке /library/App/.<br />
Итак для коннекта к базе необходимо сделать следующее -<br />
Прописать следующие строчки в application.ini (я прописал в секцию production)</p>
<pre class="brush: php;">
resources.db.adapter = &quot;PDO_MYSQL&quot;
resources.db.params.charset = &quot;utf8&quot;
resources.db.params.host = &quot;127.0.0.1&quot;
resources.db.params.username = &quot;root&quot;
resources.db.params.password = &quot;123456&quot;
resources.db.params.dbname = &quot;yourdb&quot;
</pre>
<p>После этого можно делать запросы из любого класс можно следующим образом.</p>
<pre class="brush: php;">
$dbAdapter = Zend_Db_Table::getDefaultAdapter();
 $result = $dbAdapter-&gt;query(&quot;SELECT * FROM users&quot;)-&gt;fetchAll();
 var_dump($result);
</pre>
<p>В данном случае статический метод <strong><em>getDefaultAdapter </em></strong>возвращает <strong><em>Zend_Db_Adapter_Abstract</em></strong>, то есть тоже самое, что и при создании подключения через <strong><em>factory</em></strong>, а именно:</p>
<pre class="brush: php;">
$config = Zend_Registry::get('config');
$dbAdapter  = Zend_Db::factory($this-&gt;config-&gt;db-&gt;type,
 array('host'     =&gt; $config-&gt;db-&gt;host,
 'username' =&gt; $config-&gt;db-&gt;user,
 'password' =&gt; $config-&gt;db-&gt;pass,
 'dbname'   =&gt; $config-&gt;db-&gt;name
 )
 );
</pre>
<p>В первом случае настройки автоматически подхватываются из application.ini, во втором же их приходится прописывать вручную.</p>
<p>Буду рад, если кому-нибудь данное открытие поможет как и мне.</p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=489&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/489/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Переход от Dreamweaver к Expression Web 3</title>
		<link>http://xo66ut.ru/archives/301</link>
		<comments>http://xo66ut.ru/archives/301#comments</comments>
		<pubDate>Fri, 16 Apr 2010 09:34:43 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Программирование на PHP]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[userfriendly]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=301</guid>
		<description><![CDATA[Вспомнив что у меня имеется подписка на Microsoft продукты через dreamspark, решил посмотреть, что предлагает софтверный гигант для прототипирования интерфейсов. А наткнулся в итоге на интересную альтернативу Dreamweaver - Expression Web 3. Ее функционал  практически ничем не отличается от Dreamweaver CS3, но есть одно ключевое отличие. При первом открытии Expression Web 3 все основные возможности [...]]]></description>
			<content:encoded><![CDATA[<p>Вспомнив что у меня имеется подписка на Microsoft продукты через dreamspark, решил посмотреть, что предлагает софтверный гигант для прототипирования интерфейсов. А наткнулся в итоге на интересную альтернативу <strong>Dreamweaver </strong>- <strong>Expression Web 3</strong>. Ее функционал  практически ничем не отличается от <strong>Dreamweaver CS3</strong>, но есть одно ключевое отличие. При первом открытии <strong>Expression Web 3</strong> все основные возможности грамотно и аккуратно сосредоточены вокруг рабочей области, пользователь видит большинство функций, которые предоставляет IDE. В <strong>Dreamweaver </strong>же, я смог узнать, что у него есть аналогичные функции, только сравнивая их с <strong>Expression</strong>. Может конечно мне стоило сразу после установки сконфигурировать  <strong>Dreamweaver</strong>, чтобы удобно расположить в панелях необходимый мне функционал, но почему Adobe было не побеспокоится об этом ?  В целом же программы действительно идентичны. Единственное у меня всегда были проблемы в <strong>Dreamweaver </strong>со стандартными Javascript функциями, у <strong>Expression Web</strong> их нет.<span id="more-301"></span></p>
<p>Функции которыми я сразу начал пользоваться, хотя до этого не догадывался о существовании некоторых из них в <strong>Dreamweaver</strong>:</p>
<ul>
<li>Проверка CSS и HTML валидности на лету (В <strong>Dreamweaver </strong>по умолчанию отключена)</li>
<li>Удобное использование code snippets (В <strong>Dreamweaver </strong>по умолчанию отключена)</li>
<li>Тестирование во всех браузерах установленных в системе в одном окне, удобно сравнивать как выглядит сайт в различных браузерах (В <strong>Dreamweaver </strong>такой фукции я не видел, поправьте меня)</li>
<li>Code Hyperlink удобный переход к объявлению функции из ее вызова.</li>
<li>Панелька DOM структуры
<div class="wp-caption aligncenter" style="width: 308px"><img src="http://xo66ut.files.wordpress.com/2010/04/dom_panel.jpg" alt="Dom Panel" width="298" height="56" /><p class="wp-caption-text">Dom Panel</p></div></li>
</ul>
<p>Хотя я думаю, что я нашел еще не все функции этой IDE, уже сейчас я решил отказаться в ее пользу от <strong>Dreamweaver</strong>.<br />
Ну и напоследок скриншот самой программы</p>
<p><div class="wp-caption alignnone" style="width: 610px"><a href="http://xo66ut.files.wordpress.com/2010/04/ex_web_3.jpg"><img class=" " title="Expression Web 3" src="http://xo66ut.files.wordpress.com/2010/04/ex_web_3.jpg" alt="Expression Web 3" width="600" height="467" /></a><p class="wp-caption-text">Expression Web 3</p></div>
<p><strong>Вывод</strong>: благодаря грамотному userfriendly интерфейсу я перешел в <strong>Dreamweaver </strong>на <strong>Expression Web</strong>. Плюс MS за подачу аналогичного функционала в новом свете.</p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=301&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/301/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Начало работы с PDT или поиск PHP IDE</title>
		<link>http://xo66ut.ru/archives/229</link>
		<comments>http://xo66ut.ru/archives/229#comments</comments>
		<pubDate>Sat, 26 Dec 2009 13:29:42 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[Программирование на PHP]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Smarty]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=229</guid>
		<description><![CDATA[Понял что использовать Dreamveawer больше не могу, поэтому начал присматриваться к мощным PHP IDE. Припомнил, что читал на Хабре статью про сравнение IDE для языка PHP.  В принципе статья состоит практически из одной сравнительной таблицы, автор расшарил ее на гуглодоках. Была мысль использовать Zend Studio, но цена сразу же отмела эту мысль. Вообще нужно [...]]]></description>
			<content:encoded><![CDATA[<p>Понял что использовать Dreamveawer больше не могу, поэтому начал присматриваться к мощным PHP IDE. Припомнил, что читал на Хабре статью про сравнение IDE для языка PHP.  В принципе статья состоит практически из одной сравнительной таблицы, автор расшарил ее на <a href="http://spreadsheets.google.com/ccc?key=pbvC5nxGiiolgV3KGiORdBQ">гуглодоках</a>. Была мысль использовать Zend Studio, но цена сразу же отмела эту мысль. Вообще нужно сказать, что хотя в сравнительной таблице довольно много разных IDE, но я считаю, что достоины внимания только три из них:</p>
<ol>
<li>Zend Studio</li>
<li>Netbeans</li>
<li>Eclipse</li>
</ol>
<p>Как я уже сказал, Zend Studio стоит немалых денег, поэтому для меня остались только Netbeans и Eclipse. Я как человек не по наслышке знакомых с Flex, решил выбор в пользу Eclipse (Flex редактор построен на основе Eclipse).</p>
<p>Нужно отметить, что <strong>Eclipse</strong> как таковой это фреймворк для разработки модульных кроссплатформенных приложений. Поэтому ознакомившись и научившись работать с Eclipse для PHP, затем перейти на этот же IDE, допустим под Java не составит труда.</p>
<p>Воодушевившись всеми вышеперечисленным доводами, я начал настройку PDT.<span id="more-229"></span></p>
<p>Так как я в своих проектах люблю использовать Smarty, то сразу решил настроить в редакторе работу с ним. Погуглив сразу же нашел <a href="http://code.google.com/p/smartypdt/">плагин для работы со Smarty в среде Eclipse</a>.</p>
<p>Преступим к установке, для этого нужно скачать архив с файлами.</p>
<ul>
<li>Для начала проверим, не ассоциируются ли .tpl (файлы шаблонов Smarty) файлы с какими-нибудь редакторами. Для этого идем в Window-&gt;Preferences-&gt;General-&gt;Content Types. Там заходим в Text и проверяем секции HTML и PHP Content Type. Если в этих секциях есть упоминания .tpl удаляем.</li>
<li>Идем в раздел Help-&gt;Install New Software<br />
<a href="http://xo66ut.wordpress.com/files/2009/12/smarty_pdt.jpg"><img class="alignnone size-medium wp-image-5" title="smarty_pdt" src="http://xo66ut.wordpress.com/files/2009/12/smarty_pdt.jpg?w=300" alt="Установка дополнения Smarty PDT" width="300" height="267" /></a><br />
Жмем &#8220;OK&#8221;, убираем галочку &#8220;Group items by category&#8221; и видим только что добавленное дополнение.</li>
<li>Далее жмем кнопку &#8220;Next&#8221; несколько раз и видя окно предупреждения не переживаем и жмем &#8220;OK&#8221;<br />
<a href="http://xo66ut.wordpress.com/files/2009/12/warning.jpg"><img class="alignnone size-medium wp-image-6" title="warning" src="http://xo66ut.wordpress.com/files/2009/12/warning.jpg?w=300" alt="Предупреждение" width="300" height="95" /></a></li>
<li>После этого перегружаем Eclipse кликнув на кнопку &#8220;Yes&#8221;, или вручную просто закрыв и запустив IDE заново.<br />
Все плагин установлен.</li>
</ul>
<p>Есть распространенная ошибка, которую активно обсуждают в wiki проекта на гулокоде,  я и сам ее допустил.</p>
<p><a href="http://xo66ut.wordpress.com/files/2009/12/error.jpg"><img class="alignnone size-medium wp-image-7" title="error" src="http://xo66ut.wordpress.com/files/2009/12/error.jpg?w=300" alt="" width="300" height="36" /></a></p>
<p>А все оттого, что не зная о существовании плагина, я самостоятельно ассоциировал *.tpl файлы c обычным редактором.<br />
Для решения проблемы делаем следующее:</p>
<ol>
<li>Удаляем установленный плагин Smarty. Для этого идем в Help-&gt;Install New Software и ищем ближе к правому нижнему углу ссылку &#8220;What us already installed?&#8221;. Видим окно с тем, что установлено выбираем Smarty Feature, нажимаем на кнопку &#8220;Uninstall&#8221;. Жмем далее, перезапускаем Eclipse.</li>
<li>После запуска сразу идем в Window-&gt;Preferences-&gt;General-&gt;Editors-&gt;File Associations и удаляем там *.tpl.<br />
<a href="http://xo66ut.wordpress.com/files/2009/12/tpl.jpg"><img class="alignnone size-medium wp-image-8" title="tpl" src="http://xo66ut.wordpress.com/files/2009/12/tpl.jpg?w=300" alt="" width="300" height="297" /></a></li>
<li>Теперь устанавливаем плагин заново, все должно работать.</li>
</ol>
<p>Ну и пример как все выглядит в рабочем состоянии.</p>
<p><a href="http://xo66ut.wordpress.com/files/2009/12/in_work.jpg"><img class="alignnone size-medium wp-image-9" title="in_work" src="http://xo66ut.wordpress.com/files/2009/12/in_work.jpg?w=300" alt="" width="300" height="177" /></a></p>
<p>Ну а теперь самое время перейти к тестированию работы IDE, чего и вам желаю <img src='http://xo66ut.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=229&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/229/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Памятка начинающего ООП-программиста</title>
		<link>http://xo66ut.ru/archives/23</link>
		<comments>http://xo66ut.ru/archives/23#comments</comments>
		<pubDate>Thu, 21 May 2009 12:06:36 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[UML проектирование]]></category>
		<category><![CDATA[Программирование на PHP]]></category>
		<category><![CDATA[ООП]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=23</guid>
		<description><![CDATA[Небольшая памятка для начинающего ООП-программиста.
Я постарался простым языком дать определения  основных понятий в Объектно-Ориентированном Программировании.
Пока только основные понятия, потихоньку буду дополнять.
Объектно-ориентированные программы состоять из классов и объектов. Класс можно сравнить с &#8220;чертежом&#8221;, согласно которому создаются объекты. Объект это экземпляр класса. Класс в отличие от объекта всегда один, тоесть по коду класса (&#8220;чертежу&#8221;), мы можем  создать [...]]]></description>
			<content:encoded><![CDATA[<p>Небольшая памятка для начинающего ООП-программиста.<br />
Я постарался <em>простым </em>языком дать определения  основных понятий в Объектно-Ориентированном Программировании.<br />
Пока только основные понятия, потихоньку буду дополнять.<br />
<span id="more-23"></span>Объектно-ориентированные программы состоять из классов и объектов. <strong>Класс</strong> можно сравнить с &#8220;чертежом&#8221;, согласно которому создаются <strong>объекты</strong>.<strong> Объект</strong> это экземпляр <strong>класса</strong>. <strong>Класс</strong> в отличие от объекта всегда один, тоесть по коду <strong>класса</strong> (&#8220;чертежу&#8221;), мы можем  создать неограниченное число <strong>объектов</strong>, но не наоборот. <strong>Класс</strong> является описываемой на языке программного кода моделью, ещё не существующей сущности &#8211; <strong>объекта</strong>. <strong>Объект</strong> &#8211; это некоторый объем памяти выделяющийся при создании экземпляра <strong>класса</strong> (например, после запуска результатов компиляции (для компилируемых языков)  исходного кода на выполнение). Для интерпретируемых просто вызов экземпляра <strong>класса</strong> при выполнении.<strong> Объект </strong>сочетает данные и процедуры для их обработки. Такие процедуры обычно называют <em>методами </em>или <em>операциями. </em>Объект выполняет операцию, когда получает <em>запрос</em> или <em>сообщение</em> от <em>клиента</em>. Посылка запроса &#8211; это <em>единственный</em> способ заставить объект выполнить операцию. А выполнение операции &#8211; <em>единственный</em> способ изменить внутреннее состояние объекта. Имея в виду два эти ограничения, говорят, что внутреннее состояние объекта <strong>инкапсулировано</strong>: к нему нельзя получить непосредственный доступ, то есть представление объекта закрыто от внешней программы. <strong></strong></p>
<p><strong><br />
Инкапсуляция</strong> — это принцип, согласно которому любой класс должен рассматриваться как чёрный ящик — пользователь класса должен видеть и использовать только интерфейсную часть класса (т. е. список объявленных свойств и методов класса) и не вникать в его внутреннюю реализацию. Поэтому данные принято инкапсулировать в классе таким образом, чтобы доступ к ним по чтению или записи осуществлялся не напрямую, а с помощью методов. Принцип <strong>инкапсуляции</strong> (теоретически) позволяет минимизировать число связей между классами и, соответственно, упростить независимость классов друг от друга. Одной из целей <strong>инкапсуляции</strong> является невозможность для пользователя узнать или испортить внутреннее состояние объекта.</p>
<p><strong>Наследованием</strong> называется возможность порождать один класс от другого с сохранением всех свойств и методов класса-предка (прародителя, иногда его называют суперклассом) и добавляя, при необходимости, новые свойства и методы. Набор классов, связанных отношением наследования, называют иерархией.<br />
<strong>Полиморфизмом</strong> называют явление, при котором функции (методу) с одним и тем же именем соответствует разный программный код (полиморфный код) в зависимости от того, объект какого класса используется при вызове данного метода. Тоесть во время выполнения метода выполняется не фиксированный программный код, как у обычного метода, а код (метод) того объекта, который лучше всего подходит для выполнения данной задачи. <strong>Полиморфизм</strong> позволяет отделить объекты друг от друга и дает объектам возможность изменять взаимоотношения во время выполнения. Такая взаимозаменяемость является важнейшей особенностью объектно-ориентированных  систем.</p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=23&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/23/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Создание USL-CMS</title>
		<link>http://xo66ut.ru/archives/29</link>
		<comments>http://xo66ut.ru/archives/29#comments</comments>
		<pubDate>Tue, 19 May 2009 12:39:10 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[Программирование на PHP]]></category>
		<category><![CDATA[Создание USL-CMS]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[ООП]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/archives/29</guid>
		<description><![CDATA[Решением коллегиальной комиссии (шутка), было решено создать свою cms систему с доступным (userfriendly) администрированием, работа движется, что получится &#8211; покажет время. В настоящее время над ней работает 3 человека. Собираюсь публиковать здесь важные этапы в развитии системы. В настоящее время интереса заслуживает разве что работа фотогалереи, когда написание этого модуля (а фотогалерея это опциональный модуль [...]]]></description>
			<content:encoded><![CDATA[<p>Решением коллегиальной комиссии (шутка), было решено создать свою cms систему с доступным (userfriendly) администрированием, работа движется, что получится &#8211; покажет время. В настоящее время над ней работает 3 человека. Собираюсь публиковать здесь важные этапы в развитии системы. В настоящее время интереса заслуживает разве что работа фотогалереи, когда написание этого модуля (а фотогалерея это опциональный модуль CMS), будет завершено, думаю написать здесь краткий обзор возможностей.</p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=29&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/29/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Паттерны проектирования</title>
		<link>http://xo66ut.ru/archives/6</link>
		<comments>http://xo66ut.ru/archives/6#comments</comments>
		<pubDate>Sun, 17 May 2009 07:34:44 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[UML проектирование]]></category>
		<category><![CDATA[Программирование на PHP]]></category>
		<category><![CDATA[ООП]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=6</guid>
		<description><![CDATA[По совету Хабрасообщества обзавелся буржуйской книгой &#8220;Приемы объектно-ориентированного проектирования. Паттерны проектирования.&#8221; Авторы: Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес, Издательство: &#8220;Питер&#8221;, 2006 368 страниц

Кстати найти книгу в Питербурге оказалось не простым занятием, заявленная практически во всех Буквоедах, оказалась она только в 1 из 3, да и то вместе продавцом разыскивали ее на полках. Нашлась заваленная [...]]]></description>
			<content:encoded><![CDATA[<p>По совету Хабрасообщества обзавелся буржуйской книгой &#8220;Приемы объектно-ориентированного проектирования. Паттерны проектирования.&#8221; Авторы: Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес, Издательство: &#8220;Питер&#8221;, 2006 368 страниц<br />
<img class="alignleft" src="http://www.rsdn.ru/res/book/oo/design_patterns.jpg" alt="" width="200" height="291" /><br />
Кстати найти книгу в Питербурге оказалось не простым занятием, заявленная практически во всех Буквоедах, оказалась она только в 1 из 3, да и то вместе продавцом разыскивали ее на полках. Нашлась заваленная какими-то книжками по программированию. Книга очень сильная, так сразу и не разберешься (а сразу то и не надо). По словам авторов должна стать настольной книгой, к которой постоянно возвращаться и возвращаться (почитай консультироваться). Авторы кстати известные в проектированнии люди, так называемые &#8211; GOF, Gang Of Four (Банда четырех). Что купил не жалею нисколько, уже даже применил пару паттернов проектирования на практике, это Одиночка (Singleton) и Строитель(Builder). Минусы этой книги в переводе, все объясняется каким-то запутанным языком, приходится перечитывать по нескольку раз предложения. Мне почему-то кажется, что на анлийском(оригинальном) все более доступно объясняется. Со своим уровнем английского, покупать оригинальную книгу я побоялся, может быть зря ?!</p>
<p>Так что каждый ООП программист must have.</p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=6&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/6/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

