<?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>AjaxBlog &#187; PHP</title>
	<atom:link href="http://ajaxblog.ru/tag/php/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxblog.ru</link>
	<description>ajax, javascript, css, php</description>
	<lastBuildDate>Tue, 14 Jun 2011 19:37:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Расширения и модули для Firebug</title>
		<link>http://ajaxblog.ru/221</link>
		<comments>http://ajaxblog.ru/221#comments</comments>
		<pubDate>Sun, 24 May 2009 12:33:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Firebug]]></category>
		<category><![CDATA[Kohana]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Плагины]]></category>

		<guid isPermaLink="false">http://ajaxblog.ru/?p=221</guid>
		<description><![CDATA[Что общего у таких программ как ACDSee, Nero, Winamp&#8230; то, что из когда-то любимых программ, сделали неповоротливых и громоздких &#171;монстров&#187;. Известная проблема универсальности, чем более универсальным становиться программный продукт, тем более он становиться тормознутый, глючный и неудобный для работы с &#8230; <a href="http://ajaxblog.ru/221">Далее, еще интереснее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="background: transparent url(/wp-content/uploads/firebug/bg-firebug-1.png) no-repeat 100% 100%">
Что общего у таких программ как ACDSee, Nero, Winamp&#8230; то, что из когда-то любимых программ, сделали неповоротливых и громоздких &laquo;монстров&raquo;. Известная проблема универсальности, чем более универсальным становиться программный продукт, тем более он становиться тормознутый, глючный и неудобный для работы с ним.</p>
<p>Тем же путем, идет Opera (зачем там IRC-чат, почтовый клиент и BitTorrent, мне это не нужно). Я понимаю что мои предпочтения по функциональности браузера могут не совпадать с другими пользователями, которым это нужно. Как угодить всем, ответ прост и давно известен &#8211; расширения, модули и плагины.</p>
<p>Я очень рад что разработчики Firefox пошли именно этим путем. Я могу настроить функциональность своего браузера именно так как мне нужно и любо.</p>
<p>Об одном из таком расширении мы и поговорим. Это Firebug.
</p></div>
<p><span id="more-221"></span></p>
<h3>Расширения для Firebug</h3>
<p>Полный список их приводить не буду, вы сами сможете выбрать то что вам нужно. Например здесь:</p>
<ul>
<li><a href="http://getfirebug.com/extensions/index.html">http://getfirebug.com/extensions/index.html</a></li>
<li><a href="http://habrahabr.ru/blogs/firefox/50579/">http://habrahabr.ru/blogs/firefox/50579</a></li>
</ul>
<p>Вот наверно самые востребованные.</p>
<p><img src='/wp-content/uploads/firebug/firephp.png'> <a href="http://www.firephp.org/">FirePHP</a> &#8211; расширение номер один для Firebug. Если вы конечно, PHP программист:) Что тут говорить, мой рабочий инструмент. Поэтому маловероятно, что я перейду на какой-то другой браузер.</p>
<p><img src="/wp-content/uploads/firebug/firecookie.png"> <a href="http://www.janodvarko.cz/firecookie">Firecookie</a> &#8211; показывает все куки доступные на текущей веб-странице. Вы можете видеть, когда они был изменены, и вы можете изменить ваши настройки куков для принятия или отказа прямо из Firebug панели. Очень полезное расширение. Часто приходиться использовать его, когда проверяешь работу кода авторизации.</p>
<p><img src="/wp-content/uploads/firebug/default.png"> <a href="http://billwscott.com/jiffyext/index.html">Jiffy</a> &#8211; делалась как более функциональный аналог вкладки Net. но как-то у меня не сложилось. Наверное мне не нужен такой расширенный функционал. мне вполне хватает функционала вкладки Net.</p>
<p><img src="/wp-content/uploads/firebug/pixelperfect.png"> <a href="http://www.pixelperfectplugin.com/">Pixel Perfect</a> &#8211; позволяет накладывать макет дизайна прямо на существующий сайт. Хорошее расширение, за исключением одного обидного недостатка &#8211; можно смешать картинку только на один пиксел за раз. Однажды мне нужно было срочно подогнать картинку к дизайну, сдвинув ее на 200 пикселей&#8230; думал сломаю мышку кликая.</p>
<p><img src="/wp-content/uploads/firebug/firerainbow.png"> <a href="http://firerainbow.binaryage.com/">FireRainbow</a> &#8211; раскрашивает ваш js код. Предупреждаю, находиться в стадии экспериментального расширения. у меня не возникло проблем. работает отлично.</p>
<p><img src="/wp-content/uploads/firebug/yslow.png"> YSlow &#8211; вроде как позволяет проанализировать ваши страницы и рассказать что нужно сделать что-бы ускорить ее. Рекомендации основаны на опыте написание разработчиков Yahoo высокопроизводительных сайтов. То есть стоит прислушаться. Но у меня как-то не прижился. Наверное оптимизация запросов к бд, дает более существенный выигрыш, чем пытаться оптимизировать сами странички.</p>
<h3>Модули основанные на FirePHP</h3>
<p>Во время отладки темы для своего проекта &laquo;<a href="http://www.youplugins.com">Твои плагины</a>&laquo;, была острая необходимость постоянно отслеживать значение переменных не нарушая дизайна. Вот здесь и пригодился плагин от Ivan Weiler под  WordPress. Все просто:</p>
<ul>
<li><a href="http://inchoo.net/wordpress/wordpress-firephp-plugin/">Скачиваем плагин</a></li>
<li>Активизируем в панели администратора</li>
<li>Пишем в любом месте <span style="font-family:monospace;color: #000000; font-weight: bold;">&lt;?php</span> fb<span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></li>
<li>Смотри значение в панели FirePHP</li>
</ul>
<p>Вообще то модулей написанных под различные продукты: </p>
<ul>
<li><a href="http://www.firephp.org/Wiki/Libraries/Agavi" class="wikilink">Agavi</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/BIGACE" class="wikilink">BIGACE</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/CakePHP" class="wikilink">CakePHP</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/CodeIgniter" class="wikilink">CodeIgniter</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/Drupal" class="wikilink">Drupal</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/ExpressionEngine" class="wikilink">ExpressionEngine</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/EZ" class="wikilink">eZ</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/Joomla" class="wikilink">Joomla</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/Kohana" class="wikilink">Kohana</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/NetteFramework" class="wikilink">Nette Framework</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/PEAR" class="wikilink">PEAR</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/ProjectZero" class="wikilink">Project Zero</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/Prado" class="wikilink">PRADO</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/REDAXO" class="wikilink">REDAXO</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/Seagull" class="wikilink">Seagull</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/Smarty" class="wikilink">Smarty</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/Solar" class="wikilink">Solar</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/Symfony" class="wikilink">Symfony</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/TYPO3" class="wikilink">TYPO3</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/Wordpress" class="selflink">WordPress</a>
</li>
<li><a href="http://www.firephp.org/Wiki/Libraries/ZendFramework" class="wikilink">Zend Framework</a>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ajaxblog.ru/221/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Krumo &#8211; средство для отладки php кода</title>
		<link>http://ajaxblog.ru/184</link>
		<comments>http://ajaxblog.ru/184#comments</comments>
		<pubDate>Wed, 29 Oct 2008 07:52:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Инструмент разработчика]]></category>

		<guid isPermaLink="false">http://ajaxblog.ru/?p=184</guid>
		<description><![CDATA[Чем хорошо этот Kumo, он позволяет отказаться от ставших привычных операций echo, print_r(), var_dump(). В замен использовать krumo(). Библиотека достаточно интеллектуальна, чтобы понять какой тип переменой вы передали (String, Array, Object, Clasи т.д.) и сама проводит соответствующие преобразование в нужный &#8230; <a href="http://ajaxblog.ru/184">Далее, еще интереснее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img style="float: left; margin: 0px 10px 10px 0px" title="krumo" src="http://ajaxblog.ru/wp-content/uploads/2008/10/krumo.gif" alt="" width="288" height="97" /></p>
<p>Чем хорошо этот <a href="http://kaloyan.info/krumo/#top">Kumo</a>, он позволяет отказаться от ставших привычных операций echo, print_r(), var_dump(). В замен использовать krumo(). Библиотека достаточно интеллектуальна, чтобы понять какой тип переменой вы передали (String, Array, Object, Clasи т.д.) и сама проводит соответствующие преобразование в нужный html код для выдачи в отформатированном виде в ваш браузер.<br />
<span id="more-184"></span><br />
Как работает:</p>
<ul>
<li>Скачиваем: на <a href="http://sourceforge.net/project/showfiles.php?group_id=194198">официальном сайте</a> или <a href="http://ajaxblog.ru/article/2008/10/krumo.rar">у меня</a>. В последнем случае вы получите немного модифицированную библиотеку.
<ul>
<li>Добавил подержу оператора <strong>__()</strong>. Теперь можно вывести переменные как с помощью оператора krumo(), так и __().</li>
<li>Убрал в отладочном выводе  следующию строчку, <strong>Krumo version 0.2.1a | http://krumo.sourceforge.net/</strong>. Да простят меня разработчики, но я думаю где взять и какая версия вас мало будет интересовать во время отладки кода.</li>
</ul>
</li>
<li>Подключаем
<pre class="prettyprint">include "class.krumo.php";</pre>
</li>
<li>Используем
<pre class="prettyprint">krumo($var);
или так
__($var);</pre>
</li>
<li>Дополнительные настройки
<pre class="prettyprint">// показ debug backgrace
 krumo::backtrace();
 // показ всех подключенных классов
 krumo::includes();
 // показ всех функций
 krumo::functions();
 // показ всех декларированных классов
 krumo::classes();
 // показ всех объявленных констант
 krumo::defines();
 // запретить вывод отладочных сообщений всего что ниже
 krumo::disable();
 // Этот вывод показан не будет
 krumo::includes();
 // Разрешить отладочный вывод
 krumo::enable();
 // Этот вывод будет показан
 krumo::classes();</pre>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ajaxblog.ru/184/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Denwer, Xdebug , Notepad++] &#8211; полноценная среда разработки</title>
		<link>http://ajaxblog.ru/92</link>
		<comments>http://ajaxblog.ru/92#comments</comments>
		<pubDate>Thu, 31 Jul 2008 12:38:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Xdebug]]></category>
		<category><![CDATA[Инструмент разработчика]]></category>

		<guid isPermaLink="false">http://ajaxblog.ru/?p=92</guid>
		<description><![CDATA[Существует много хороших редакторов кода для PHP, я выбрал для себя Notepad++. Что-бы не разводить &#171;религиозные войны&#187; я перечислю те свойство редактора которые важны для меня: Скорость работы редактора Малый размер и возможность работы с флешки Подсветка текста и возможность &#8230; <a href="http://ajaxblog.ru/92">Далее, еще интереснее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img style="float: right;" title="Найдите ошибки в PHP-приложениях при помощи Xdebug" src="http://ajaxblog.ru/wp-content/uploads/2008/07/xdebug-logo.png" alt="Найдите ошибки в PHP-приложениях при помощи Xdebug" width="200" height="116" /><br />
Существует много хороших редакторов кода для PHP, я выбрал для себя <a href="http://notepad-plus.sourceforge.net/ru/site.htm">Notepad++</a>.<br />
Что-бы не разводить &laquo;религиозные войны&raquo; я перечислю те свойство редактора которые важны для меня:</p>
<ol>
<li>Скорость работы редактора</li>
<li>Малый размер и возможность работы с флешки</li>
<li> Подсветка текста и возможность сворачивания блоков, согласно синтаксису языка программирования</li>
<li>Авто-завершение набираемого слова</li>
<li>Одновременная работа с множеством документов</li>
<li>Одновременный просмотр нескольких документов</li>
<li>Динамическое изменение окон просмотра</li>
<li>Автоматическое определение состояния файла</li>
<li>Поддержка большого количества языков</li>
<li>Выделение скобок при редактировании текста</li>
</ol>
<p>Всем хорош редактор, вот только нету в нем полноценной отладки кода &#8211; думал я, и был не прав.</p>
<p>Оказываетесь для него есть плагин <a href="http://sourceforge.net/project/showfiles.php?group_id=189927&amp;package_id=236520" target="_blank"><strong>DBGP plugin</strong></a>, который превращает Notepad++ в полноценную php IDE.</p>
<p>Дальше расскажу как &laquo;подружить&raquo; между собой Denver + Xdebug + Notepad++</p>
<p><span id="more-92"></span></p>
<ol>
<li>Скачиваем <a href="http://www.denwer.ru/dis/Base/latest?from=index">Денвер</a> и устанавливаем у себя на компьютере, все просто. Для тех кто это делает первый раз, <a href="http://www.denwer.ru/base.html">инструкция</a>.</li>
<li>Скачиваем <a href="http://notepad-plus.sourceforge.net/ru/site.htm">Notepad++</a> и инсталлируем его.</li>
<li>Запускаем Денвер в браузере набираем <em>http://localhost/Tests/PHP5/index.php5</em> и смотрим версию php, у меня 5.2.4</li>
<li>Скачиваем <a href="http://pecl4win.php.net/ext.php/php_xdebug.dll">Xdebug</a>, обратите внимание нужно скачать dll нужной версии под конкретную версию php</li>
<li>Скаченую dll помещаем в папку <strong>путь</strong>\usr\local\php5\ext\, где <strong>путь</strong> (у меня <em>C:\WebServers</em>) -диск и папка куда вы установили свой Денвер</li>
<li>В файле <strong>путь</strong>\usr\local\php5\php.ini дописываем следующие строчки
<pre>
extension=php_xdebug.dll

zend_extension_ts = C:\WebServers\usr\local\php5\ext\php_xdebug.dll 

xdebug.remote_enable = On
xdebug.remote_autostart = On
xdebug.auto_trace = On
xdebug.remote_host = 127.0.0.1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_mode=req
xdebug.idekey=default

xdebug.profiler_enable  = 1
xdebug.profiler_output_dir = C:\T\xdebug_prof\</pre>
<p>Обратите внимание, что  <em>C:\WebServers</em> &#8211; нужно заменить на вашпуть, а<br />
<em>C:\tmp\xdebug_prof\</em> &#8211; на папку где будет хранитьса ваши профайлы.<br />
<strong><br />
Замечание:</strong> в название путе лучше отказаться от использование не латинских букв и спецсимволов.</li>
<li>Перезагружаем Денвер, в браузере набираем http://localhost/Tests/PHP5/index.php5 и смотрим<br />
<img class="alignnone size-full wp-image-94" title="zend-with-xdebug" src="http://ajaxblog.ru/wp-content/uploads/2008/07/zend-with-xdebug.gif" alt="" width="490" height="80" /><br />
<img class="alignnone size-full wp-image-95" title="apache-xdebug" src="http://ajaxblog.ru/wp-content/uploads/2008/07/apache-xdebug.gif" alt="" width="315" height="370" /><br />
если вы это увидели. то вы все сделали правильно, если нет, еще раз перечитайте пункты выше.</li>
<li>Практически вы уже получили сильный инструмент в своей работе программиста.<br />
<img class="alignnone size-full wp-image-96" title="deep" src="http://ajaxblog.ru/wp-content/uploads/2008/07/deep.jpg" alt="" width="485" height="220" /><br />
Вот очень хорошая статья <a href="http://www.ibm.com/developerworks/ru/library/os-php-xdebug/index.html">&laquo;Найдите ошибки в PHP-приложениях при помощи Xdebug&raquo;</a>, о том как это расширение увеличивает ваш возможности поиска ошибок.<br />
Но наша цель IDE &#8211; продолжаем идти к ней&#8230;</li>
<li>Скачиваем <a href="http://sourceforge.net/project/showfiles.php?group_id=189927&amp;package_id=236520" target="_blank"><strong>DBGP plugin</strong></a> и устанавливаем его в папочку <em>C:\Program Files\Notepad++\plugins\</em> (ну или куда вы установили Notepad++)<br />
<img class="alignnone size-full wp-image-97" title="dbgpplugin-notepad" src="http://ajaxblog.ru/wp-content/uploads/2008/07/dbgpplugin-notepad.gif" alt="" width="362" height="426" /></li>
<li>Залускаем Notepadd++, заходим Дополнение&gt;&gt;DBGp&gt;&gt;Config<br />
<img class="alignnone size-full wp-image-98" title="dbgp-configuration" src="http://ajaxblog.ru/wp-content/uploads/2008/07/dbgp-configuration.gif" alt="" width="500" height="436" /><br />
<strong>Замечание</strong>: после home должна идти имя папки, где лежат скрипты которые вы собираетесь дебажить</li>
<li>После этого вроде вроде все должно работать, но у меня так и неполучилось стартовать debug сессию. Но не беда нас выручить плагин для ФФ -<a href="https://addons.mozilla.org/ru/firefox/addon/3960">Xdebug Helper</a>. Заходим по сылочки и устанавливаем в своем браузере.<br />
<img class="alignnone size-full wp-image-99" title="xdebug-helper" src="http://ajaxblog.ru/wp-content/uploads/2008/07/xdebug-helper.png" alt="" width="165" height="138" /></li>
<li>Ну вроде и все. Как все это работаем:
<ul>
<li>открываем файл со скриптом в Notepad++</li>
<li>ставим точку остановки</li>
<li>запускаем браузер с url &#8211; нашего проекта</li>
<li>активизируем Xdebug session &#8211; кликом по иконки (если она не активизирована)<br />
<strong>Замечание:</strong> после активизации сессии, нужно перегрузить страничку (F5)</li>
<li>Вываливаемся в Notepad++ и начинаем пошагово дебажить код <img src='http://ajaxblog.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p><img class="alignnone size-full wp-image-100" title="xdebug-dbgp-notepad" src="http://ajaxblog.ru/wp-content/uploads/2008/07/xdebug-dbgp-notepad.gif" alt="" width="449" height="348" /></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://ajaxblog.ru/92/feed</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Отладка PHP средствами FirePHP</title>
		<link>http://ajaxblog.ru/71</link>
		<comments>http://ajaxblog.ru/71#comments</comments>
		<pubDate>Tue, 08 Jul 2008 06:24:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Инструмент разработчика]]></category>

		<guid isPermaLink="false">http://ajaxblog.ru/?p=71</guid>
		<description><![CDATA[Все хорошо знают плагин для Firefox &#8211; Firebug. Но мало кто знает про другой не менее интересный плагин &#8211; FirePHP. Я постараюсь исправить этот недостаток. Что для успешной работы нужно: PHP: 5 Firefox: 2, 3 Firebug: 1.05, 1.1, 1.2 FirePHP &#8230; <a href="http://ajaxblog.ru/71">Далее, еще интереснее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 5px; float: left;" title="firephp" src="http://ajaxblog.ru/wp-content/uploads/2008/07/firephp.gif" alt="firephp" width="200" height="150" />Все хорошо знают плагин для Firefox &#8211; Firebug. Но мало кто знает про другой не менее интересный плагин &#8211; <a href="http://www.firephp.org/">FirePHP</a>. Я постараюсь исправить этот недостаток.</p>
<p>Что для успешной работы нужно:</p>
<ul style="margin-left: 220px;">
<li><a href="http://www.php.net/" target="_blank">PHP</a>:     5</li>
<li><a href="http://www.mozilla.com/en-US/firefox/?from=getfirefox" target="_blank">Firefox</a>:     2, 3</li>
<li><a href="http://www.getfirebug.com/" target="_blank">Firebug</a>:     1.05, 1.1, 1.2</li>
</ul>
<p><span id="more-71"></span></p>
<p>FirePHP позволяет выводить информацию в консоль Firebug непосредственно из PHP. Делается это довольно просто:</p>
<pre class="prettyprint">require('FirePHP.class.php');
$firephp -&gt; fb('Log message'  ,FirePHP::LOG);
$firephp -&gt; fb('Info message' ,FirePHP::INFO);
$firephp -&gt; fb('Warn message' ,FirePHP::WARN);
$firephp -&gt; fb('Error message',FirePHP::ERROR);
$firephp -&gt; fb(apache_request_headers(),'RequestHeaders',FirePHP::DUMP);</pre>
<p>Кроме того в Firebug можно передавать произвольные структуры данных и исключения. В последнем случае получим не только сам объект исключения, но и содержимое стека. Возможностей плагина достаточно много, почитайте <a href="http://www.firephp.org/Wiki/Reference/Fb">документацию</a>.</p>
<p>Преимущество такой отладки в том, что данные передаются не в теле страницы, а в заголовках. Это значит, что во-первых, страница не замусориваетса всяческими echo`ми и var_dump`ами, а во вторых, можно без проблем отлаживать AJAX-вызовы.</p>
<p><img src="http://ajaxblog.ru/wp-content/uploads/2008/07/firephp-sample.png" alt="" width="422" height="457" /></p>
<p>И &laquo;на сладкое&raquo;, для поклонников фреймворка CodeIgnitr, для него создано специальное дополнение <a href="http://codeigniter.com/wiki/Fire_Ignition/">Fire Ignition</a>. Которое позволяет объединить вместе: CodeIgnitr, Firebug, FirePHP и PHP 5.</p>
<p>Удачного кодинга.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxblog.ru/71/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Как выделить комментарии автора в WordPress</title>
		<link>http://ajaxblog.ru/66</link>
		<comments>http://ajaxblog.ru/66#comments</comments>
		<pubDate>Sat, 05 Jul 2008 09:07:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://ajaxblog.ru/?p=66</guid>
		<description><![CDATA[Задача простоя, нужно выделить комментарии автора поста, что-бы они не затерялись в общем списки комментариев. В файле style.css &#8211; дописывает строчку .comment-author &#123; background-color: #B3FFCC !important; //Выберите свой цвет &#125; Редактируем файл comments.php находим строчку &#60;li id=&#34;comment-&#60;?php comment_ID&#40;&#41; ?&#62;&#34;&#62; и &#8230; <a href="http://ajaxblog.ru/66">Далее, еще интереснее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Задача простоя, нужно выделить комментарии автора поста, что-бы они не затерялись в общем списки комментариев.</p>
<p>В файле <strong>style.css</strong> &#8211; дописывает строчку</p>
<pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.comment-author</span> <span style="color: #00AA00;">&#123;</span>
     <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#B3FFCC</span> !important<span style="color: #00AA00;">;</span> //Выберите свой цвет
<span style="color: #00AA00;">&#125;</span></pre>
<p>Редактируем файл <strong>comments.php</strong></p>
<p>находим строчку</p>
<pre class="php" style="font-family:monospace;">&lt;li id=&quot;comment-<span style="color: #000000; font-weight: bold;">&lt;?php</span> comment_ID<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;</pre>
<p>и меняем на</p>
<pre class="php" style="font-family:monospace;">&lt;li class=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_author</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">user_id</span><span style="color: #009900;">&#41;</span> ? <span style="color: #0000ff;">'comment-author'</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">'comment'</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; id=&quot;comment-<span style="color: #000000; font-weight: bold;">&lt;?php</span> comment_ID<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;</pre>
<p>Как работает:</p>
<p>мы сравниваем принадлежит ли комментарий авторы посту (причем автор не обязательно должен быть админ). И если принадлежит добавляем класс <strong>comment-author</strong>. Ну а как вы его разукрасите, это зависеть только от вашей фантази.</p>
<p>Пока писал статью нашел <a href="http://wordpress.org/extend/plugins/author-highlight/">плагин для WordPess</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxblog.ru/66/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Как избежать утечки PR или NOFOLLOW</title>
		<link>http://ajaxblog.ru/56</link>
		<comments>http://ajaxblog.ru/56#comments</comments>
		<pubDate>Wed, 02 Jul 2008 08:01:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Плагины]]></category>

		<guid isPermaLink="false">http://ajaxblog.ru/?p=56</guid>
		<description><![CDATA[Намедни, начитавшись SEO-блогов. Одна из идей которая меня взволновала была следующая, если разместить ссылку на другой источник, то происходит отток PR &#8211; этой страницы. Выход разместить в каждой внешней ссылки атрибут nofollow. Мне конечно еще рано беспокоиться об этом, с &#8230; <a href="http://ajaxblog.ru/56">Далее, еще интереснее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Намедни, начитавшись SEO-блогов.</p>
<p>Одна из идей которая меня взволновала была следующая, если разместить ссылку на другой источник, то происходит отток PR &#8211; этой страницы. Выход разместить в каждой внешней ссылки атрибут nofollow. Мне конечно еще рано беспокоиться об этом, с моим то PR, но заранее побеспокоиться стоит.</p>
<p>И так, с одной стороны я не могу не разместить ссылку на источник откуда взял материал. С другой стороны каждый раз добавлять этот атрибут меня как программиста &laquo;ломает&raquo;, это &laquo;не наш путь&raquo;. Наш путь &#8211; написать плагин который это делает за нас.</p>
<p>Начнем. Заходим в папку <b>/wp-content/themes/myteam</b>, где myteam &#8211; название вашей темы. Находим (если нет создаем) файл <b>functions.php</b>. И добавляем следующий код:</p>
<pre class="prettyprint">
add_filter('the_content', 'nofollow'); //Добавили новый фильтр

//Сам фильтр
function nofollow($content) {
    $content = str_replace('&lt;a ','&lt;a rel="nofollow" ', $content);
    return $content;
}
</pre>
<p>Как это работает. В момент отдачи поста, он проходит через еще один фильтр nofollow. Который ищет в теле поста ссылки и добавляет к найденным ссылкам атрибут rel=&raquo;nofollow&raquo;</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxblog.ru/56/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

