<?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>Webové aplikace &#187; PHP</title>
	<atom:link href="http://weboveaplikace.info/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://weboveaplikace.info</link>
	<description>Webové aplikace a vše kolem nich...</description>
	<lastBuildDate>Sat, 20 Mar 2010 17:44:29 +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>Standard PHP Library (SPL) &#8211; rozhraní IteratorAggregate</title>
		<link>http://weboveaplikace.info/2009/05/31/standard-php-library-spl-rozhrani-iteratoraggregate/</link>
		<comments>http://weboveaplikace.info/2009/05/31/standard-php-library-spl-rozhrani-iteratoraggregate/#comments</comments>
		<pubDate>Sun, 31 May 2009 13:46:35 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://weboveaplikace.info/2009/05/31/standard-php-library-spl-rozhrani-iteratoraggregate/</guid>
		<description><![CDATA[Jednou jsem tu psal o rozhraní Iterator, dneska bych rád navázal rozhraním IteratorAggregate. Je dalším rozhraním co dědí od Traversable, z čehož vyplývá, že objekty implementující toto rozhraní je možné procházet jako kolekci pomocí konstrukce foreach.



IteratorAggregate se používá tam, kde je vhodné oddělit implementaci iterátoru od implementace samotného objektu.
Rozhraní vypadá nadmíru jednoduše:
PHP:

interface IteratorAggregate extends Traversable&#123;
&#160; ]]></description>
		<wfw:commentRss>http://weboveaplikace.info/2009/05/31/standard-php-library-spl-rozhrani-iteratoraggregate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standard PHP Library (SPL) &#8211; rozhraní ArrayAccess</title>
		<link>http://weboveaplikace.info/2009/03/31/standard-php-library-spl-rozhrani-arrayaccess/</link>
		<comments>http://weboveaplikace.info/2009/03/31/standard-php-library-spl-rozhrani-arrayaccess/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 20:57:59 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://weboveaplikace.info/2009/03/31/standard-php-library-spl-rozhrani-arrayaccess/</guid>
		<description><![CDATA[Rozhraní ArrayAccess umožňuje přistupovat k objektům jako by to byla pole.
Rozhraní ArrayAccess vypadá nějak takto:
PHP:

interface ArrayAccess
&#123;
&#160; &#160; function offsetExists&#40; $offset &#41;;
&#160; &#160; function offsetGet&#40; $offset &#41;;
&#160; &#160; function offsetSet&#40; $offset, $value &#41;;
&#160; &#160; function offsetUnset&#40; $offset &#41;;
&#125;






Třída, která implementuje rozhraní ArraAccess, musí tedy implementovat všechny zmíněné metody.
PHP:

class MojeTrida implements ArrayAccess
&#123;
&#160; &#160; function offsetExists&#40; $offset &#41;&#123;
&#160; ]]></description>
		<wfw:commentRss>http://weboveaplikace.info/2009/03/31/standard-php-library-spl-rozhrani-arrayaccess/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Standard PHP Library (SPL) &#8211; rozhraní Iterator</title>
		<link>http://weboveaplikace.info/2007/12/01/standard-php-library-spl-rozhrani-iterator/</link>
		<comments>http://weboveaplikace.info/2007/12/01/standard-php-library-spl-rozhrani-iterator/#comments</comments>
		<pubDate>Sat, 01 Dec 2007 15:11:06 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://weboveaplikace.info/2007/12/01/standard-php-library-spl-rozhrani-iterator/</guid>
		<description><![CDATA[Rozhraní <a href="http://www.php.net/~helly/php/ext/spl/interfaceIterator.html">Iterator</a> slouží k procházení objektů pomocí konstrukce <a href="http://www.php.net/foreach">foreach</a>. To znamená, že pokud objekt implementuje rozhraní <strong>Iterator</strong>, pak může být předán konstrukci <strong>foreach</strong>. Tímto způsobem je možné pracovat s objektem jako s polem (jen vzhledem ke konstrukci foreach) a skrýt tak jeho vnitřní implementaci.

Pro úplnost by mělo být řečeno, že aby <strong>foreach</strong> akceptoval objekt musí tento implementovat rozhraní <strong>Traversable</strong>. Avšak rozhraní Traversable neobsahuje definice žádných metod, tudíž je rozhodně vhodné vyhnout se jeho přímé implementaci. Radějí tedy implementujeme rozhraní <strong>Iterator</strong>, které od rozhraní <strong>Traversable</strong> dědí]]></description>
		<wfw:commentRss>http://weboveaplikace.info/2007/12/01/standard-php-library-spl-rozhrani-iterator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Využití editoru VIM pro práci s PHP</title>
		<link>http://weboveaplikace.info/2007/11/18/vyuziti-editoru-vim-pro-praci-s-php/</link>
		<comments>http://weboveaplikace.info/2007/11/18/vyuziti-editoru-vim-pro-praci-s-php/#comments</comments>
		<pubDate>Sun, 18 Nov 2007 16:47:35 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://weboveaplikace.info/2007/11/18/vyuziti-editoru-vim-pro-praci-s-php/</guid>
		<description><![CDATA[Existuje spousta způsobů, kterými je možné vytvářet PHP skripty. Někomu stačí poznámkový blok, jiný využívá všech vymožeností různých IDE. Někde uprostřed pak jsou schopné textové editory jako je <strong>Vim</strong>. Nechci se přít o to, který editor je nejlepší. Tak jako má každý editor svoji filozofii, tak i každému člověku vyhovuje něco jiného. V tomto článku bych chtěl ukázat jak může Vim zpříjěmnít a urychlit práci]]></description>
		<wfw:commentRss>http://weboveaplikace.info/2007/11/18/vyuziti-editoru-vim-pro-praci-s-php/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Jak v PHP vytvořit jeden RSS kanál z více databázových tabulek?</title>
		<link>http://weboveaplikace.info/2007/08/27/jak-v-php-vytvorit-jeden-rss-kanal-z-vice-databazovych-tabulek/</link>
		<comments>http://weboveaplikace.info/2007/08/27/jak-v-php-vytvorit-jeden-rss-kanal-z-vice-databazovych-tabulek/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 14:33:57 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://weboveaplikace.info/?p=7</guid>
		<description><![CDATA[Tento kód vygeneruje soubor rss.xml, ve kterém bude nejčerstvějších 10 položek z různých databázových tabulek.



PHP:

class Rss&#123;
&#160; var $rows;
&#160; var $count=0;
&#160; function addItem&#40;$item&#41;&#123;
&#160; &#160; $this-&#62;rows&#91;$this-&#62;count&#93; = $item;
&#160; &#160; $this-&#62;count++;
&#160; &#125;
&#160; function getRow&#40;$i&#41;&#123;
&#160; &#160; return $this-&#62;rows&#91;$i&#93;;
&#160; &#125;
&#160; function sort&#40;&#41;&#123;
&#160; &#160; usort&#40;$this-&#62;rows,"itemRssCmp"&#41;;
&#160; &#125;
&#125;
function itemRssCmp&#40;$a,$b&#41;&#123;
&#160; if &#40;$a-&#62;timeStamp==$b-&#62;timeStamp&#41; return 0;
&#160; return &#40;$a-&#62;timeStamp&#62; $b-&#62;timeStamp&#41; ? -1 : 1;
&#125;
class Itemrss&#123;
&#160; var $title;
&#160; ]]></description>
		<wfw:commentRss>http://weboveaplikace.info/2007/08/27/jak-v-php-vytvorit-jeden-rss-kanal-z-vice-databazovych-tabulek/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
