<?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>Zbigniew 'zibi' Jarosik &#187; php</title>
	<atom:link href="http://zibi.nora.pl/category/tech/php/feed" rel="self" type="application/rss+xml" />
	<link>http://zibi.nora.pl</link>
	<description>Ecie-pecie o wszechświecie</description>
	<lastBuildDate>Sat, 17 Dec 2011 17:19:13 +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>De beściak</title>
		<link>http://zibi.nora.pl/2010/10/26/de-besciak.html</link>
		<comments>http://zibi.nora.pl/2010/10/26/de-besciak.html#comments</comments>
		<pubDate>Tue, 26 Oct 2010 19:41:10 +0000</pubDate>
		<dc:creator>zibi</dc:creator>
				<category><![CDATA[dev]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://zibi.nora.pl/?p=1200</guid>
		<description><![CDATA[Czasem lubię się pastwić nad ludźmi, czasem nad kodem. Nad ludźmi bywa kiepsko, bo może to być nielegalne. Nad kodem lepsiej, bo może to stanowić niezłe ćwiczenie. Ostatnio mnie trafiło, jak zobaczyłem commenta o wdzięcznym brzmieniu:
Eddy Vlad
24-Nov-2009 04:59
The shortest recursive delete possible.






Kilka minut zabawy i wymodziłem coś takiego:


function rrmdir($path)
{
  return is_file($path)?
   ...]]></description>
			<content:encoded><![CDATA[<!-- 
<?php
    /**
     * Delete a file or recursively delete a directory
     *
     * @param string $str Path to file or directory
     */
    function recursiveDelete($str){
        if(is_file($str)){
            return @unlink($str);
        }
        elseif(is_dir($str)){
            $scan = glob(rtrim($str,'/').'/*');
            foreach($scan as $index=>$path){
                recursiveDelete($path);
            }
            return @rmdir($str);
        }
    }
?>
 !--><!-- 
function rrmdir($path)
{
  return is_file($path)?
    @unlink($path):
    array_map('rrmdir',glob($path.'/*'))==@rmdir($path)
  ;
}
 !--><p class="wp-flattr-button"></p><p>Czasem lubię się pastwić nad ludźmi, czasem nad kodem. Nad ludźmi bywa kiepsko, bo może to być nielegalne. Nad kodem lepsiej, bo może to stanowić niezłe ćwiczenie. Ostatnio mnie trafiło, jak zobaczyłem <a href="http://pl.php.net/manual/en/function.unlink.php#94766">commenta</a> o wdzięcznym brzmieniu:</p>
<blockquote><p>Eddy Vlad<br />
24-Nov-2009 04:59<br />
The shortest recursive delete possible.</p>
<pre>&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
    <span style="color: #808080; font-style: italic;">/**
     * Delete a file or recursively delete a directory
     *
     * @param string $str Path to file or directory
     */</span>
    <span style="color: #000000; font-weight: bold;">function</span> recursiveDelete<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
        <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><a href="http://www.php.net/is_file"><span style="color: #000066;">is_file</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
            <span style="color: #b1b100;">return</span> @<a href="http://www.php.net/unlink"><span style="color: #000066;">unlink</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
        <span style="color: #b1b100;">elseif</span><span style="color: #66cc66;">&#40;</span><a href="http://www.php.net/is_dir"><span style="color: #000066;">is_dir</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
            <span style="color: #0000ff;">$scan</span> = <a href="http://www.php.net/glob"><span style="color: #000066;">glob</span></a><span style="color: #66cc66;">&#40;</span><a href="http://www.php.net/rtrim"><span style="color: #000066;">rtrim</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str</span>,<span style="color: #ff0000;">'/'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #ff0000;">'/*'</span><span style="color: #66cc66;">&#41;</span>;
            <span style="color: #b1b100;">foreach</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$scan</span> <span style="color: #b1b100;">as</span> <span style="color: #0000ff;">$index</span>=&gt;<span style="color: #0000ff;">$path</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
                recursiveDelete<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">&#41;</span>;
            <span style="color: #66cc66;">&#125;</span>
            <span style="color: #b1b100;">return</span> @<a href="http://www.php.net/rmdir"><span style="color: #000066;">rmdir</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
    <span style="color: #66cc66;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre>
</blockquote>
<p>Kilka minut zabawy i wymodziłem coś takiego:</p>
<pre>&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> rrmdir<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
  <span style="color: #b1b100;">return</span> <a href="http://www.php.net/is_file"><span style="color: #000066;">is_file</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">&#41;</span>?
    @<a href="http://www.php.net/unlink"><span style="color: #000066;">unlink</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">&#41;</span>:
    <a href="http://www.php.net/array_map"><span style="color: #000066;">array_map</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'rrmdir'</span>,<a href="http://www.php.net/glob"><span style="color: #000066;">glob</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$path</span>.<span style="color: #ff0000;">'/*'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>==@<a href="http://www.php.net/rmdir"><span style="color: #000066;">rmdir</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">&#41;</span>
  ;
<span style="color: #66cc66;">&#125;</span></pre>
<p>Wspomoże ktoś czymś jeszcze krótszym?</p>
]]></content:encoded>
			<wfw:commentRss>http://zibi.nora.pl/2010/10/26/de-besciak.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Natywne SVN+SSH dla Subeclipse</title>
		<link>http://zibi.nora.pl/2010/03/01/natywne-svnssh-dla-subeclipse.html</link>
		<comments>http://zibi.nora.pl/2010/03/01/natywne-svnssh-dla-subeclipse.html#comments</comments>
		<pubDate>Mon, 01 Mar 2010 10:23:35 +0000</pubDate>
		<dc:creator>zibi</dc:creator>
				<category><![CDATA[mem]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[sysop]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://zibi.nora.pl/?p=1108</guid>
		<description><![CDATA[Aby działało trzeba ustawić zmienną środowiskową SVN_SSH na "C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe", potem w Eclipse ustawiamy JavaHL (JNI).]]></description>
			<content:encoded><![CDATA[<p class="wp-flattr-button"></p><p>Aby działało trzeba ustawić zmienną środowiskową SVN_SSH na &#8220;C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe&#8221;, potem w Eclipse ustawiamy JavaHL (JNI).</p>
]]></content:encoded>
			<wfw:commentRss>http://zibi.nora.pl/2010/03/01/natywne-svnssh-dla-subeclipse.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP i JS w jednym stali DOMu</title>
		<link>http://zibi.nora.pl/2010/02/19/php-i-js-w-jednym-stali-domu.html</link>
		<comments>http://zibi.nora.pl/2010/02/19/php-i-js-w-jednym-stali-domu.html#comments</comments>
		<pubDate>Fri, 19 Feb 2010 11:45:23 +0000</pubDate>
		<dc:creator>zibi</dc:creator>
				<category><![CDATA[links]]></category>
		<category><![CDATA[mem]]></category>
		<category><![CDATA[net]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[soft]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://zibi.nora.pl/?p=1105</guid>
		<description><![CDATA[http://phpjs.org/ - warte zapamiętania. Na wszelki smerf.]]></description>
			<content:encoded><![CDATA[<p class="wp-flattr-button"></p><p><a href="http://phpjs.org/">http://phpjs.org/</a> &#8211; warte zapamiętania. Na wszelki smerf.</p>
]]></content:encoded>
			<wfw:commentRss>http://zibi.nora.pl/2010/02/19/php-i-js-w-jednym-stali-domu.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Skrętność wielokątów</title>
		<link>http://zibi.nora.pl/2009/11/20/skretnosc-wielokatow.html</link>
		<comments>http://zibi.nora.pl/2009/11/20/skretnosc-wielokatow.html#comments</comments>
		<pubDate>Fri, 20 Nov 2009 16:39:57 +0000</pubDate>
		<dc:creator>zibi</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://zibi.nora.pl/?p=1085</guid>
		<description><![CDATA[Dziś geometria ;P

W pracy ostatnio pojawił się problem - czy wierzchołki wielokąta są ułożone zgodnie z kierunkiem ruchu wskazówek zegara czy wręcz przeciwnie? Potrzebna była szybka i tania (w sensie obliczeniowym) metoda określenia owego ułożenia.



Ok, patrząc na obrazek widzimy od razu ;P A programowo?

Jak widać na rysunku wyznaczamy sobie 4 (w pewnych szczególnych przypadkach ...]]></description>
			<content:encoded><![CDATA[<p class="wp-flattr-button"></p><p>Dziś geometria ;P</p>
<p>W pracy ostatnio pojawił się problem &#8211; czy wierzchołki wielokąta są ułożone zgodnie z kierunkiem ruchu wskazówek zegara czy wręcz przeciwnie? Potrzebna była szybka i tania (w sensie obliczeniowym) metoda określenia owego ułożenia.</p>
<p><img src="http://zibi.nora.pl/blog/wp-content/uploads/2009/11/skretny.gif" alt="skretny" title="skretny" width="373" height="392" class="aligncenter size-full wp-image-1086" /></p>
<p>Ok, patrząc na obrazek widzimy od razu ;P A programowo?</p>
<p>Jak widać na rysunku wyznaczamy sobie 4 (w pewnych szczególnych przypadkach 3) punkty brzegowe &#8211; górny, prawy, dolny, lewy &#8211; opisując prostokąt na wielokącie. Znalezienie tych punktów jest proste i tanie &#8211; wystarczy raz przejrzeć listę współrzędnych.</p>
<p>Zapisujemy sobie numery tych punktów prawoskrętnie do array-a: 1,2,7,9. Jeśli ciąg jest rosnący &#8211; mamy prawoskrętny. Jeśli malejący &#8211; lewoskrętny.</p>
<p>Ok, a co, jeśli nam się figura obróci o 180 stopni i dostaniemy: 7,9,1,2 ? Ciąg nie jest już rosnący ;P Rozwiązań jest parę. Można szukać punktu nieciągłości i próbować splice tablicy zrobić i merge potem. Można sprawdzić, jaki jest największy element w tablicy i dodać taką wartość do wszystkich mniejszych. Przy 4 elementach będzie to nadal szybkie i proste: 7, 9, 10(1+9), 11(2+9).</p>
<p>Jak sprawdzić, czy ciąg jest rosnący?<br />
<code><br />
$up = $points;<br />
sort($up);<br />
if(join($up)==join($points))<br />
{<br />
  echo "rosnący";<br />
}<br />
</code></p>
<p>Cała operacja jest prosta i szybka &#8211; zależna liniowo od ilości wierzchołków wielokąta.</p>
]]></content:encoded>
			<wfw:commentRss>http://zibi.nora.pl/2009/11/20/skretnosc-wielokatow.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zmiana działania get_class_vars w PHP 5.2.8</title>
		<link>http://zibi.nora.pl/2009/01/20/zmiana-dzialania-get_class_vars-w-php-528.html</link>
		<comments>http://zibi.nora.pl/2009/01/20/zmiana-dzialania-get_class_vars-w-php-528.html#comments</comments>
		<pubDate>Tue, 20 Jan 2009 15:19:36 +0000</pubDate>
		<dc:creator>zibi</dc:creator>
				<category><![CDATA[mem]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://zibi.nora.pl/?p=379</guid>
		<description><![CDATA[Do tej pory (ciężko mi określić czy wcześniej już było tak, czy dopiero od 5.2.8) get_class_vars zwracało tylko pola publiczne. Aktualnie zwraca wszystkie, czyli public, private i protected.]]></description>
			<content:encoded><![CDATA[<p class="wp-flattr-button"></p><p>Do tej pory (ciężko mi określić czy wcześniej już było tak, czy dopiero od 5.2.8) get_class_vars zwracało tylko pola publiczne. Aktualnie zwraca wszystkie, czyli public, private i protected.</p>
]]></content:encoded>
			<wfw:commentRss>http://zibi.nora.pl/2009/01/20/zmiana-dzialania-get_class_vars-w-php-528.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Nowy artykulik o PHP</title>
		<link>http://zibi.nora.pl/2008/07/11/nowy-artykulik-o-php.html</link>
		<comments>http://zibi.nora.pl/2008/07/11/nowy-artykulik-o-php.html#comments</comments>
		<pubDate>Fri, 11 Jul 2008 09:48:51 +0000</pubDate>
		<dc:creator>zibi</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://zibi.nora.pl/?p=207</guid>
		<description><![CDATA[Tym razem replikacja obrazków.]]></description>
			<content:encoded><![CDATA[<p class="wp-flattr-button"></p><p>Tym razem <a href="/techniczne/php/php-prosta-replikacja-obrazkow">replikacja obrazków</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://zibi.nora.pl/2008/07/11/nowy-artykulik-o-php.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wielokrotne dziedziczenie w PHP</title>
		<link>http://zibi.nora.pl/2008/04/19/wielokrotne-dziedziczenie-w-php.html</link>
		<comments>http://zibi.nora.pl/2008/04/19/wielokrotne-dziedziczenie-w-php.html#comments</comments>
		<pubDate>Sat, 19 Apr 2008 20:48:36 +0000</pubDate>
		<dc:creator>zibi</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://zibi.nora.pl/?p=178</guid>
		<description><![CDATA[Stanowczo powinienem organizować sobie czas tak, aby nie mieć szans na nudę ;P

Znów wieczorne dłubanie w PHP zaowocowało próbą obejścia ograniczeń narzuconych na język przez twórców. Tym razem padło na wielokrotne dziedziczenie. Było mi potrzebne kiedyś-kiedyś, lat temu parę, teraz już wiem, że nie jest potrzebne do szczęścia, lepiej i czytelniej można wszystko zrobić ...]]></description>
			<content:encoded><![CDATA[<p class="wp-flattr-button"></p><p>Stanowczo powinienem organizować sobie czas tak, aby nie mieć szans na nudę ;P</p>
<p>Znów wieczorne dłubanie w PHP zaowocowało próbą obejścia ograniczeń narzuconych na język przez twórców. Tym razem padło na wielokrotne dziedziczenie. Było mi potrzebne kiedyś-kiedyś, lat temu parę, teraz już wiem, że nie jest potrzebne do szczęścia, lepiej i czytelniej można wszystko zrobić bez MI. Ale potraktowane jako ćwiczenie jest niezłą ciekawostką. Kody źródłowe na <a href="/techniczne/php/php-multiple-inheritance">podstronie</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://zibi.nora.pl/2008/04/19/wielokrotne-dziedziczenie-w-php.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP Prefixowanie w nazwach metod</title>
		<link>http://zibi.nora.pl/2008/04/14/php-prefixowanie-w-nazwach-metod.html</link>
		<comments>http://zibi.nora.pl/2008/04/14/php-prefixowanie-w-nazwach-metod.html#comments</comments>
		<pubDate>Mon, 14 Apr 2008 12:24:47 +0000</pubDate>
		<dc:creator>zibi</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://zibi.nora.pl/?p=170</guid>
		<description><![CDATA[Pojawił się dziś pomysł na realizację prostych wrapperów na metody (np do pomiaru czasu czy debugowania) nie poprzez zewnętrzne funkcje czy dekoratory tylko poprzez dodawanie prefixów w nazwach metod.
Rozwiązanie oparte jest na magicznej metodzie __call i zawiera się w dosłownie kilku liniach kodu. Szczegóły w pełnym artykule.]]></description>
			<content:encoded><![CDATA[<p class="wp-flattr-button"></p><p>Pojawił się dziś pomysł na realizację prostych wrapperów na metody (np do pomiaru czasu czy debugowania) nie poprzez zewnętrzne funkcje czy dekoratory tylko poprzez dodawanie prefixów w nazwach metod.<br />
Rozwiązanie oparte jest na magicznej metodzie __call i zawiera się w dosłownie kilku liniach kodu. Szczegóły w <a href="/techniczne/php/php-prefix-w-nazwie-metody">pełnym artykule</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://zibi.nora.pl/2008/04/14/php-prefixowanie-w-nazwach-metod.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPowy wieczór</title>
		<link>http://zibi.nora.pl/2008/04/07/phpowy-wieczor.html</link>
		<comments>http://zibi.nora.pl/2008/04/07/phpowy-wieczor.html#comments</comments>
		<pubDate>Mon, 07 Apr 2008 10:11:47 +0000</pubDate>
		<dc:creator>zibi</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://zibi.nora.pl/blog/?p=167</guid>
		<description><![CDATA[Wczorajszy wieczór był dość owocny, jeśli chodzi o kodowanie ;D

Popełniłem 2 małe projekty, które właściwie są narazie bardziej koncepcjami niż produktami nadającymi się do pełnego wykorzystania, ale powiedzmy, że działają.

Pierwszy z projektów to próba zaimplementowania pseudowątków w PHP. Działa wolno, ale skutecznie. Na podstronie kod i przykład wykorzystania.

Drugi, to implementacja prostego mechanizmu RPC pośredniczącego ...]]></description>
			<content:encoded><![CDATA[<p class="wp-flattr-button"></p><p>Wczorajszy wieczór był dość owocny, jeśli chodzi o kodowanie ;D</p>
<p>Popełniłem 2 małe projekty, które właściwie są narazie bardziej koncepcjami niż produktami nadającymi się do pełnego wykorzystania, ale powiedzmy, że działają.</p>
<p>Pierwszy z projektów to próba zaimplementowania pseudowątków w PHP. Działa wolno, ale skutecznie. Na <a href="http://zibi.nora.pl/techniczne/php/php-threads">podstronie</a> kod i przykład wykorzystania.</p>
<p>Drugi, to implementacja prostego mechanizmu RPC pośredniczącego w korzystaniu ze zdalnych obiektów umieszczonych np na innych serwerach. Może się przydać do pobierania niedużych ilości danych, sterowania procesami czy zdalnej autoryzacji. Dużą zaletą jest prostota korzystania. Obiekt po zdefiniowaniu korzysta ze zdalnej maszyny w sposób całkowicie przezroczysty. Na <a href="http://zibi.nora.pl/techniczne/php/php-remoteobjects">podstronie</a> kod i przykład wykorzystania.</p>
]]></content:encoded>
			<wfw:commentRss>http://zibi.nora.pl/2008/04/07/phpowy-wieczor.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Framework</title>
		<link>http://zibi.nora.pl/2006/06/14/zend-framework.html</link>
		<comments>http://zibi.nora.pl/2006/06/14/zend-framework.html#comments</comments>
		<pubDate>Wed, 14 Jun 2006 01:58:05 +0000</pubDate>
		<dc:creator>zibi</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://zibi.nora.pl/?p=144</guid>
		<description><![CDATA[Ładny, funkcjonalny.
Jeszcze trochę dokumentacja musi dojrzeć.
Jedno co mnie zaszokowało, to funkcjonalność. Jest mniejsza, słabiej przemyślana niż moje własne rozwiązania ;/
Jedyną przewagą ZF jest większy porządek w samym kodzie.

Uwagi praktyczne:
- domyślnie w debianie nie instaluje się php5-pdo-mysql. warto zainstalować. może oszczędzić paru minut zastanawiania się, dlaczego to #^@%$@# nie działa! ;D]]></description>
			<content:encoded><![CDATA[<p class="wp-flattr-button"></p><p>Ładny, funkcjonalny.</p>
<p>Jeszcze trochę dokumentacja musi dojrzeć.</p>
<p>Jedno co mnie zaszokowało, to funkcjonalność. Jest mniejsza, słabiej przemyślana niż moje własne rozwiązania ;/<br />
Jedyną przewagą ZF jest większy porządek w samym kodzie.</p>
<p>Uwagi praktyczne:</p>
<p>- domyślnie w debianie nie instaluje się php5-pdo-mysql. warto zainstalować. może oszczędzić paru minut zastanawiania się, dlaczego to #^@%$@# nie działa! ;D</p>
]]></content:encoded>
			<wfw:commentRss>http://zibi.nora.pl/2006/06/14/zend-framework.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

