<?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>Slaver&#039;s Blog &#187; PHP</title>
	<atom:link href="http://slaver.info/category/programming/php/feed" rel="self" type="application/rss+xml" />
	<link>http://slaver.info</link>
	<description>Не блогосфера™</description>
	<lastBuildDate>Mon, 21 Nov 2011 08:23:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Радости и проблемы PHP 5.3</title>
		<link>http://slaver.info/programming/php/php-5-3.html</link>
		<comments>http://slaver.info/programming/php/php-5-3.html#comments</comments>
		<pubDate>Tue, 07 Sep 2010 13:26:32 +0000</pubDate>
		<dc:creator>Slaver</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://slaver.info/?p=316</guid>
		<description><![CDATA[PHP 5.3 радует всеми своими последними изменениями. Правда, руки ещё не дошли до всяких замыканий и нэймспэйсов. Зато внушительный прирост производительности уже успел оценить. Вот только ветка 5.3 пока сырая и необходимо обновляться при всех новых апдейтах. Вот, например, сегодня часа три промучался с решением проблемы, при которой во время ajax-запроса сервер не хочет отдавать значение [...]]]></description>
			<content:encoded><![CDATA[<p><strong>PHP 5.3</strong> радует всеми своими последними изменениями. Правда, руки ещё не дошли до всяких замыканий и нэймспэйсов. Зато внушительный прирост производительности уже успел оценить. Вот только ветка 5.3 пока сырая и необходимо обновляться при всех новых апдейтах.</p>
<p>Вот, например, сегодня часа три промучался с решением проблемы, при которой во время <strong>ajax-запроса</strong> сервер не хочет отдавать значение <code>$_SERVER['HTTP_X_REQUESTED_WITH']</code>. При чём это было абсолютно рандомно, только для некоторых запросов, и никакие попытки дебага не помогали. Я, конечно, допускаю возможность того, что я сам где-то ошибся, но обновление с <strong>5.3.2</strong> до <strong>5.3.3</strong> сразу же решило проблему&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://slaver.info/programming/php/php-5-3.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Модуль авторизация через ВКонтакте для Kohana</title>
		<link>http://slaver.info/programming/php/vk_auth.html</link>
		<comments>http://slaver.info/programming/php/vk_auth.html#comments</comments>
		<pubDate>Mon, 17 May 2010 08:14:26 +0000</pubDate>
		<dc:creator>Slaver</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Kohana]]></category>
		<category><![CDATA[вконтакте]]></category>

		<guid isPermaLink="false">http://slaver.info/?p=311</guid>
		<description><![CDATA[После открытия API ВКонтакте сразу появилось несколько статей по созданию быстрой авторизации на своём сайте пользователей vk.com, в т.ч. и на PHP. Решил заняться написанием модуля авторизации для Kohana. Документация по API очень хилая, пришлось изучать js-скрипты durov.at и переносить некоторый функционал на PHP (отправка POST-запроса с получением полной информации о пользователе, вместо ajax-овой реализации [...]]]></description>
			<content:encoded><![CDATA[<p>После открытия API ВКонтакте сразу появилось несколько статей по созданию <strong>быстрой авторизации на своём сайте пользователей vk.com</strong>, в т.ч. и на <a href="http://habrahabr.ru/blogs/php/92518/">PHP</a>. Решил заняться написанием модуля авторизации для <a href="http://kohanaframework.org/"><strong>Kohana</strong></a>.</p>
<p><a href="http://vkontakte.ru/page2369497">Документация по API</a> очень хилая, пришлось изучать js-скрипты durov.at и переносить некоторый функционал на PHP (отправка POST-запроса с получением полной информации о пользователе, вместо ajax-овой реализации на <a href="http://durov.at">durov.at</a>). Самым сложным местом оказалось генерирование уникальной подписи запроса (как они объясняют, &#8220;подпись запроса по стандартной схеме&#8221;), т.к. этот процесс нормально не описан.</p>
<p><strong>Модуль Vk</strong> умеет логиниться и получать информацию о пользователе и, соответственно, разлогиниваться. Информация хранится в cookie и в сессии. При желании, можно складывать всё в БД, запрашивать дополнительную информацию о пользователе и т.д..</p>
<p>Подробное описание на <a href="http://github.com/Slaver/vk"><strong>странице модуля</strong></a> в github. Не забываем <a href="http://vkontakte.ru/apps.php?act=add">создать</a> свое приложение ВКонтакте для тестирования и записать полученные API ID, ключ приложения и защищенный ключ в <code>config/vk.php</code>, а также создать файл <code>xd_receiver.htm</code> по примеру в описании.</p>
<p><a class="archive" href="http://github.com/Slaver/vk/zipball/master">Скачать модуль авторизация через ВКонтакте для Kohana на PHP</a></p>
]]></content:encoded>
			<wfw:commentRss>http://slaver.info/programming/php/vk_auth.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Коллекция php-скриптов</title>
		<link>http://slaver.info/programming/php/php-scripts-collection.html</link>
		<comments>http://slaver.info/programming/php/php-scripts-collection.html#comments</comments>
		<pubDate>Thu, 08 Jan 2009 11:56:39 +0000</pubDate>
		<dc:creator>Slaver</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[скрипты]]></category>

		<guid isPermaLink="false">http://slaver.info/?p=268</guid>
		<description><![CDATA[Сегодня до двух ночи сортировал свою коллекцию никому ненужных скриптов. Есть у меня хобби — скачивать всякие php-скрипты, чтобы подтырить идей-посмеяться над индусами-позавидовать умениям (нужное подчеркнуть). Так вот насобиралась огромная куча этого хлама (особенно много с phpclasses) и я сортировал его по функционалу. В итоге получилось 30 папок (ajax, db, http, mail и др.) на [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня до двух ночи сортировал свою коллекцию <em>никому ненужных скриптов</em>. Есть у меня хобби — скачивать всякие <strong>php-скрипты</strong>, чтобы подтырить идей-посмеяться над индусами-позавидовать умениям (<em>нужное подчеркнуть</em>). Так вот насобиралась огромная куча этого хлама (особенно много с <a href="http://www.phpclasses.org/">phpclasses</a>) и я сортировал его по функционалу. В итоге получилось 30 папок (ajax, db, http, mail и др.) на 120 метров (правда, более 80 метров занимают фреймворки всякие… <em>толстый Zend такой толстый</em>).</p>
<p>А вот на домашнем локальном компе есть ещё большая сборка скриптов, которые я качал, когда ещё только начинал изучать php. Помню тогда были популярны всякие каталоги, типа <a href="http://www.woweb.ru/load/">woweb.ru</a>, где можно было откопать отобранный шлак. До сих пор сохранились раритеты, писанные ещё на php3… Хотя среди них есть те, на которых я учился — надо будет написать пост про это :)</p>
]]></content:encoded>
			<wfw:commentRss>http://slaver.info/programming/php/php-scripts-collection.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Фильтрация данных в PHP</title>
		<link>http://slaver.info/programming/php/filtracija-dannykh-v-php.html</link>
		<comments>http://slaver.info/programming/php/filtracija-dannykh-v-php.html#comments</comments>
		<pubDate>Sat, 17 May 2008 11:00:00 +0000</pubDate>
		<dc:creator>Slaver</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[безопасность]]></category>

		<guid isPermaLink="false">http://slaver.info/?p=113</guid>
		<description><![CDATA[Решил повозиться с php-шными функциями фильтрации данных, которые появились только с версии 5.2.0. Мои впечатления все время двигаются по кривой от &#171;ого и уау&#187; до &#171;ыыы мдзя&#187;. Все-таки разработчики пишут язык не для людей. Или я просто не этот самый людь? Может кто-нибудь мне обяснит, какой filter или может быть flag необходимо поставить для поля, [...]]]></description>
			<content:encoded><![CDATA[<p>Решил повозиться с <strong>php</strong>-шными <a href="http://ru2.php.net/manual/ru/ref.filter.php"><strong>функциями фильтрации данных</strong></a>, которые появились только с версии 5.2.0. Мои впечатления все время двигаются по кривой от &laquo;ого и уау&raquo; до &laquo;ыыы мдзя&raquo;. Все-таки разработчики пишут язык не для людей. Или я просто <em>не</em> этот самый <em>людь?</em> Может кто-нибудь мне обяснит, какой <strong>filter</strong> или может быть <strong>flag</strong> необходимо поставить для поля, чтобы использовать <a href="http://ru2.php.net/manual/ru/function.filter-input-array.php"><strong>filter_input_array</strong></a> для проверки <em>заполнено ли поле вообще</em>. Это не предусмотрено? Но тогда получается, что толку от этих фильтров мало&hellip; Или уже поздно и я много выпил?</p>
]]></content:encoded>
			<wfw:commentRss>http://slaver.info/programming/php/filtracija-dannykh-v-php.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Обработка ЧПУ не через .htaccess</title>
		<link>http://slaver.info/programming/php/ufu-htaccess.html</link>
		<comments>http://slaver.info/programming/php/ufu-htaccess.html#comments</comments>
		<pubDate>Sun, 18 Feb 2007 11:30:00 +0000</pubDate>
		<dc:creator>Slaver</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://slaver.info/?p=44</guid>
		<description><![CDATA[Сидел вчера весь день дома, т.к. простудился. Сидел и работал над маленькими проектиками. И вдруг решил написать класс для ЧПУ, который бы мог заменить несколько строчек в .htaccess, где можно было лишь оставить одно правило RewriteRule . /index.php [L]. Конечно, полностью универсального варианта для любых ссылок не придумаешь, но для моего вариант вполне подходит. class [...]]]></description>
			<content:encoded><![CDATA[<p>Сидел вчера весь день дома, т.к. простудился. Сидел и работал над маленькими проектиками. И вдруг решил написать класс для <strong>ЧПУ</strong>, который бы мог заменить несколько строчек в <strong>.htaccess</strong>, где можно было лишь оставить одно правило <code>RewriteRule . /index.php [L]</code>. Конечно, полностью универсального варианта для любых ссылок не придумаешь, но для моего вариант вполне подходит.</p>
<pre>class _getLinks {
	function _parser(){
		$furl = parse_url($_SERVER[’REQUEST_URI’]);
		$url = explode(’/’, $furl[’path’]);
		$url = array_filter($url, "strlen");
		$url = array_filter($url, "urlencode");
		$url = array_reverse($url);
		return $url;
	}

	function _getCategory() {
		$res = $this-&gt;_parser();
		return $res[1];
	}

	function _getTitle() {
		$var = $this-&gt;_parser();
		$res = preg_split("/[.\\s]/",$var[0]);
		return $res[0];
	}
}</pre>
<p>Можно использовать ссылки вида: <code>http://server.com/category/subcategory/title.html</code> и получать, соответственно, url категории и url новости, которые уже можно прогонять по базе…</p>
<p><strong>P.S.</strong> Подумал немного… Абсолютно бесполезная и ненужная фигня получилася :(</p>
]]></content:encoded>
			<wfw:commentRss>http://slaver.info/programming/php/ufu-htaccess.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

