<?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/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://ajaxblog.ru</link>
	<description>ajax, javascript, css, php</description>
	<lastBuildDate>Tue, 12 Jan 2010 16:54:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Krumo &#8211; средство для отладки php кода</title>
		<link>http://ajaxblog.ru/2008/10/krumo-sredstvo-dlya-otladki-php-koda/</link>
		<comments>http://ajaxblog.ru/2008/10/krumo-sredstvo-dlya-otladki-php-koda/#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/2008/10/krumo-sredstvo-dlya-otladki-php-koda/">Далее, еще интереснее <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/2008/10/krumo-sredstvo-dlya-otladki-php-koda/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Denwer, Xdebug , Notepad++] &#8211; полноценная среда разработки</title>
		<link>http://ajaxblog.ru/2008/07/denwer-xdebug-notepad/</link>
		<comments>http://ajaxblog.ru/2008/07/denwer-xdebug-notepad/#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/2008/07/denwer-xdebug-notepad/">Далее, еще интереснее <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/2008/07/denwer-xdebug-notepad/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Отладка PHP средствами FirePHP</title>
		<link>http://ajaxblog.ru/2008/07/otladka-php-sredstvami-firephp/</link>
		<comments>http://ajaxblog.ru/2008/07/otladka-php-sredstvami-firephp/#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/2008/07/otladka-php-sredstvami-firephp/">Далее, еще интереснее <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/2008/07/otladka-php-sredstvami-firephp/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
