<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[Forum webmasterskie Exploitek.info - Wszystkie działy]]></title>
		<link>http://www.forum.exploitek.info/</link>
		<description><![CDATA[Forum webmasterskie Exploitek.info - http://www.forum.exploitek.info]]></description>
		<pubDate>Fri, 05 Sep 2008 20:16:40 +0200</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[[Forum&#93; Forum wielotematycznę]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=505</link>
			<pubDate>Fri, 05 Sep 2008 18:21:34 +0200</pubDate>
			<dc:creator>Paweł</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=505</guid>
			<description><![CDATA[Zapraszam do oceny <a href="http://www.forumix.pl" target="_blank">FORUM</a><br />
<br />
Jest to forum wielotematyczne, do pogadania nie tylko na luźne rozmowy :)<br />
<br />
Pozdrawiam]]></description>
			<content:encoded><![CDATA[Zapraszam do oceny <a href="http://www.forumix.pl" target="_blank">FORUM</a><br />
<br />
Jest to forum wielotematyczne, do pogadania nie tylko na luźne rozmowy :)<br />
<br />
Pozdrawiam]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Zasponosruję&#93;Hosting]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=504</link>
			<pubDate>Tue, 02 Sep 2008 16:14:26 +0200</pubDate>
			<dc:creator>thid</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=504</guid>
			<description><![CDATA[Jestem w stanie udostępnić sporą ilość zasobów na serwerze.<br />
Do dyspozycji:<br />
Miejsce: do ustalenia<br />
transfer: do ustalenia<br />
PHP5<br />
MySQL<br />
mod_wsgi, mod_fastcgi<br />
django<br />
ruby (jak ktoś będzie miał taką potrzebę)<br />
Dowolna ilość kont e-mail<br />
Dowolna ilość baz SQL<br />
Dowolna ilość kont FTP<br />
<br />
Dopuszczalne strony:<br />
Tematy anime &amp; manga &amp; japonia<br />
Wszelkie developerskie strony/blogi<br />
Zwykłe Blogi<br />
Ciekawe serwisy www<br />
<br />
Kontakt:<br />
jid: illviris@gmail.com<br />
msn: illviris@hotmail.com<br />
gg: 5288789]]></description>
			<content:encoded><![CDATA[Jestem w stanie udostępnić sporą ilość zasobów na serwerze.<br />
Do dyspozycji:<br />
Miejsce: do ustalenia<br />
transfer: do ustalenia<br />
PHP5<br />
MySQL<br />
mod_wsgi, mod_fastcgi<br />
django<br />
ruby (jak ktoś będzie miał taką potrzebę)<br />
Dowolna ilość kont e-mail<br />
Dowolna ilość baz SQL<br />
Dowolna ilość kont FTP<br />
<br />
Dopuszczalne strony:<br />
Tematy anime &amp; manga &amp; japonia<br />
Wszelkie developerskie strony/blogi<br />
Zwykłe Blogi<br />
Ciekawe serwisy www<br />
<br />
Kontakt:<br />
jid: illviris@gmail.com<br />
msn: illviris@hotmail.com<br />
gg: 5288789]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[katalog&#93; Darmowy spis firm]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=502</link>
			<pubDate>Mon, 01 Sep 2008 15:17:17 +0200</pubDate>
			<dc:creator>kmike</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=502</guid>
			<description><![CDATA[Witam,<br />
w związku z tym, że reklama w internecie jest bardziej popularna niż w radiu, a specjaliści przewidują, że za kilka lat prześcignie reklamę w telewizji! Dlatego nie siedź bezczynnie. Zacznij coś robić i zacznij reklamować swoją firmę lub działalność gospodarczą w darmowym katalogu stron. <br />
<br />
Serdecznie zapraszam<br />
<br />
<a href="http://www.osiagnij-sukces.pl" target="_blank">http://www.osiagnij-sukces.pl</a>]]></description>
			<content:encoded><![CDATA[Witam,<br />
w związku z tym, że reklama w internecie jest bardziej popularna niż w radiu, a specjaliści przewidują, że za kilka lat prześcignie reklamę w telewizji! Dlatego nie siedź bezczynnie. Zacznij coś robić i zacznij reklamować swoją firmę lub działalność gospodarczą w darmowym katalogu stron. <br />
<br />
Serdecznie zapraszam<br />
<br />
<a href="http://www.osiagnij-sukces.pl" target="_blank">http://www.osiagnij-sukces.pl</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[SourceHost - Portal dla programistów]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=501</link>
			<pubDate>Sun, 31 Aug 2008 11:10:23 +0200</pubDate>
			<dc:creator>Bartosz</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=501</guid>
			<description><![CDATA[SourceHost - Portal dla programistów zawierający bibliotekę kodów źródłowych wszelakich języków programowania, m.in: xHTML, CSS, PHP, MySQL, C++,C#, Turbo Pascal, Ruby, Assembler, Ajax, Python. Portal będzie miał podział na kategorię oraz kolorowanie składni dla każdego z języków. Dostępna będzie rejestracja, bez której nie możliwe będzie dodawanie, komentowanie i punktowanie wpisów.<br />
<br />
Ogólnie portal będzie pisany w technologi xHTML, CSS, PHP i MYSQL.<br />
<br />
Ekipa liczy dwie osoby:<br />
<span style="font-weight: bold;">Bartosz</span> - czyli ja :) programista php i mysql<br />
<span style="font-weight: bold;">ApeX</span> - grafik, zajmuje się cięciem lay'a i optymalizacją kodu xHTML i CSS<br />
<br />
Wszelkie pytania możecie tutaj zadawać :)<br />
<br />
Pozdrawiam, Bartosz]]></description>
			<content:encoded><![CDATA[SourceHost - Portal dla programistów zawierający bibliotekę kodów źródłowych wszelakich języków programowania, m.in: xHTML, CSS, PHP, MySQL, C++,C#, Turbo Pascal, Ruby, Assembler, Ajax, Python. Portal będzie miał podział na kategorię oraz kolorowanie składni dla każdego z języków. Dostępna będzie rejestracja, bez której nie możliwe będzie dodawanie, komentowanie i punktowanie wpisów.<br />
<br />
Ogólnie portal będzie pisany w technologi xHTML, CSS, PHP i MYSQL.<br />
<br />
Ekipa liczy dwie osoby:<br />
<span style="font-weight: bold;">Bartosz</span> - czyli ja :) programista php i mysql<br />
<span style="font-weight: bold;">ApeX</span> - grafik, zajmuje się cięciem lay'a i optymalizacją kodu xHTML i CSS<br />
<br />
Wszelkie pytania możecie tutaj zadawać :)<br />
<br />
Pozdrawiam, Bartosz]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[layout&#93; SourceHost - Portal dla programistów]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=503</link>
			<pubDate>Sun, 31 Aug 2008 11:10:23 +0200</pubDate>
			<dc:creator>Apex</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=503</guid>
			<description><![CDATA[<a href="http://www.vpx.pl/up/20080901/sourcehost.png" target="_blank">http://www.vpx.pl/up/20080901/sourcehost.png</a><br />
<br />
Oceny prosze:P<br />
<br />
<div style="width:450px;color:white; font-weight:bold; background-color:#bc0101; padding: 3px;">INFO<div style="background-color: white; color: black; padding: 5px;">Szblony stron do oceny powinny być umieszczane w dziale <span style="text-decoration: underline;">Grafika komputerowa</span><br />
</div></div>]]></description>
			<content:encoded><![CDATA[<a href="http://www.vpx.pl/up/20080901/sourcehost.png" target="_blank">http://www.vpx.pl/up/20080901/sourcehost.png</a><br />
<br />
Oceny prosze:P<br />
<br />
<div style="width:450px;color:white; font-weight:bold; background-color:#bc0101; padding: 3px;">INFO<div style="background-color: white; color: black; padding: 5px;">Szblony stron do oceny powinny być umieszczane w dziale <span style="text-decoration: underline;">Grafika komputerowa</span><br />
</div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Parkowanie głowicy dysku twardego w laptopach...]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=500</link>
			<pubDate>Fri, 29 Aug 2008 18:47:35 +0200</pubDate>
			<dc:creator>MROOV@</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=500</guid>
			<description><![CDATA[Witam,<br />
<br />
Pewnie wiecie, że głowice dysków w notebookach parkują co jakiś czas. Ta procedura chroni przed przegrzaniem i przed wstrząsami (kiedy jest zaparkowana nie może przebić talerza dysku). Skutek uboczny - zużywanie się. Niektóre marki dysków dają gwarancję na kilkaset tysięcy parkowań.<br />
<br />
Wyczytałem ostatnio, iż niektóre dystrybucje Linuxa i Vista ma w ustawieniach za małe przerwy między parkowaniami i dlatego podobno mając np. Linuxa Ubuntu bądź Vistę szybciej pozbędziemy się dysku w lapku...<br />
<br />
Na <a href="http://forum.ubuntu.pl" target="_blank">http://forum.ubuntu.pl</a> jest o tym temat, wiele ludzi się wypowiada, można znaleźć komendy na zmianę czasu przerwy między parkowaniami itd... Są tacy, który twierdzą iż wydłużenie przerw między parkowaniami lub nawet wyłączenie parkowania może prowadzić do przegrzania.<br />
<br />
W tym wątku ustalili nawet bezpieczną liczbę parkowań / godzinę... Wszyscy, którzy testowali mieli Ubunciaki i różne laptopy. Każdy miał inny wynik, niektórzy nie mieścili się w określonej bezpiecznej licznie (np. ja też się nie mieszczę). Mój laptop często jest używany w terenie lub przenoszony więc nie zwiększałem przerw między parkowaniami zostawiłem jak jest.<br />
<br />
Co wy o tym myślicie? Może ktoś też testuje... Zmieniał ustawienia...<br />
<br />
<span style="font-weight: bold;">Dla userów <span style="text-decoration: underline;">Ubuntu</span>:</span><br />
pakiet, który potrafi odczytać ilość parkowań dysku:<br />
<div class="codeblock">
<div class="title">Kod:<br />
</div><div class="body" dir="ltr"><code>sudo apt-get install smartmontools</code></div></div>
polecenie, które wyświetla ilość parkowań (ostatnia liczba)<br />
<div class="codeblock">
<div class="title">Kod:<br />
</div><div class="body" dir="ltr"><code>sudo smartctl -d ata -a /dev/sda | grep Load_Cycle_Count</code></div></div>
]]></description>
			<content:encoded><![CDATA[Witam,<br />
<br />
Pewnie wiecie, że głowice dysków w notebookach parkują co jakiś czas. Ta procedura chroni przed przegrzaniem i przed wstrząsami (kiedy jest zaparkowana nie może przebić talerza dysku). Skutek uboczny - zużywanie się. Niektóre marki dysków dają gwarancję na kilkaset tysięcy parkowań.<br />
<br />
Wyczytałem ostatnio, iż niektóre dystrybucje Linuxa i Vista ma w ustawieniach za małe przerwy między parkowaniami i dlatego podobno mając np. Linuxa Ubuntu bądź Vistę szybciej pozbędziemy się dysku w lapku...<br />
<br />
Na <a href="http://forum.ubuntu.pl" target="_blank">http://forum.ubuntu.pl</a> jest o tym temat, wiele ludzi się wypowiada, można znaleźć komendy na zmianę czasu przerwy między parkowaniami itd... Są tacy, który twierdzą iż wydłużenie przerw między parkowaniami lub nawet wyłączenie parkowania może prowadzić do przegrzania.<br />
<br />
W tym wątku ustalili nawet bezpieczną liczbę parkowań / godzinę... Wszyscy, którzy testowali mieli Ubunciaki i różne laptopy. Każdy miał inny wynik, niektórzy nie mieścili się w określonej bezpiecznej licznie (np. ja też się nie mieszczę). Mój laptop często jest używany w terenie lub przenoszony więc nie zwiększałem przerw między parkowaniami zostawiłem jak jest.<br />
<br />
Co wy o tym myślicie? Może ktoś też testuje... Zmieniał ustawienia...<br />
<br />
<span style="font-weight: bold;">Dla userów <span style="text-decoration: underline;">Ubuntu</span>:</span><br />
pakiet, który potrafi odczytać ilość parkowań dysku:<br />
<div class="codeblock">
<div class="title">Kod:<br />
</div><div class="body" dir="ltr"><code>sudo apt-get install smartmontools</code></div></div>
polecenie, które wyświetla ilość parkowań (ostatnia liczba)<br />
<div class="codeblock">
<div class="title">Kod:<br />
</div><div class="body" dir="ltr"><code>sudo smartctl -d ata -a /dev/sda | grep Load_Cycle_Count</code></div></div>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Siema!]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=499</link>
			<pubDate>Fri, 29 Aug 2008 12:55:19 +0200</pubDate>
			<dc:creator>Fogger</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=499</guid>
			<description><![CDATA[Siemanko! Mam na imię Filip i idę teraz do 1 gimnazjum. Niedawno zacząłem interesować się programowaniem ale jak na razie nic nie umiem, więc fajnie by było jakbyście mi polecili jakiś dobry kurs. Czytałem już troche o html'u i css na kurshtml.boo.pl ale jeszcze nie dokończyłem bo troche tam tego jest. Może dokończe czytać chyba że polecicie mi jakiś lepszy (według was). Warto też dodać że moim bratem jest Kaczlawo <img src="http://www.forum.exploitek.info/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /> więc będzie mi on troche pomagał w nauce.]]></description>
			<content:encoded><![CDATA[Siemanko! Mam na imię Filip i idę teraz do 1 gimnazjum. Niedawno zacząłem interesować się programowaniem ale jak na razie nic nie umiem, więc fajnie by było jakbyście mi polecili jakiś dobry kurs. Czytałem już troche o html'u i css na kurshtml.boo.pl ale jeszcze nie dokończyłem bo troche tam tego jest. Może dokończe czytać chyba że polecicie mi jakiś lepszy (według was). Warto też dodać że moim bratem jest Kaczlawo <img src="http://www.forum.exploitek.info/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /> więc będzie mi on troche pomagał w nauce.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[ApeX - Layouty]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=498</link>
			<pubDate>Fri, 29 Aug 2008 09:53:39 +0200</pubDate>
			<dc:creator>Apex</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=498</guid>
			<description><![CDATA[Oto mój layotu na zlecenie: <br />
 <br />
<a href="http://www.vpx.pl/up/20080829/dada2.png" target="_blank">http://www.vpx.pl/up/20080829/dada2.png</a>]]></description>
			<content:encoded><![CDATA[Oto mój layotu na zlecenie: <br />
 <br />
<a href="http://www.vpx.pl/up/20080829/dada2.png" target="_blank">http://www.vpx.pl/up/20080829/dada2.png</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Laptop - jaka marka?]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=495</link>
			<pubDate>Thu, 28 Aug 2008 14:57:24 +0200</pubDate>
			<dc:creator>Justyna</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=495</guid>
			<description><![CDATA[;&#93;<br />
<br />
Jaką markę polecacie? Planuję zakup laptopa do 1500zł. <br />
Rozglądam się aktualnie za Fujitsu Siemens lub jakimś Acerem. <br />
<br />
Co wy na to?]]></description>
			<content:encoded><![CDATA[;]<br />
<br />
Jaką markę polecacie? Planuję zakup laptopa do 1500zł. <br />
Rozglądam się aktualnie za Fujitsu Siemens lub jakimś Acerem. <br />
<br />
Co wy na to?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Nowy regulamin działu. [dot. tematów od 28.08&#93;]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=493</link>
			<pubDate>Thu, 28 Aug 2008 14:43:15 +0200</pubDate>
			<dc:creator>dewholer</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=493</guid>
			<description><![CDATA[W tym dziale wystawiamy strony internetowe (fora dyskusyjne, portale, vortale, strony klanowe, blogi itp.), dla uzyskania ich OCENY. <br />
<br />
Prezentujący stronę ma obowiązek dodać do tematu jeden z tagów:<br />
-[forum&#93;<br />
-[strona&#93;<br />
-[aplikacja&#93;<br />
-[blog&#93;<br />
-[inne&#93; <br />
<br />
Zły dobór tagu będzie równoznaczy z usunięciem tematu. <br />
Na forum zakazane jest propagowanie treści zabronionych przez polskie i europejskie prawo. W tym dziale obowiązuje całkowity zakaz reklamy warezów, stron pornograficznych itp.<br />
<br />
W każdym temacie musi znaleźć się link klikalny, oraz opis strony. Tematy bez linka, bądź z samym linkiem będą usuwane. <br />
<br />
<span style="font-weight: bold;">Ocenianie:</span><br />
<br />
Bezpodstawna krytyka jest zabroniona. Obrażanie autorów jest również zakazane!<br />
Oceniamy stronę pod względem wyglądu, funkcjonalności i kodu. Administracja nie narzuca skali ocen. Prosimy stosować się jednak do ogólnych zasad i stosować skalę 1-6, bądź 1-10 ;&#93;<br />
<br />
W tym dziale obowiązuje podwyższony "rygor". Moderatorzy będą karać za najmniejsze przewinienia!<br />
<br />
Data wejścia w życie nowego regulaminu: 28.08.08r.<br />
Regulamin nie działa wstecz (nie obowiązuje w tematach założonych przed tą datą).]]></description>
			<content:encoded><![CDATA[W tym dziale wystawiamy strony internetowe (fora dyskusyjne, portale, vortale, strony klanowe, blogi itp.), dla uzyskania ich OCENY. <br />
<br />
Prezentujący stronę ma obowiązek dodać do tematu jeden z tagów:<br />
-[forum]<br />
-[strona]<br />
-[aplikacja]<br />
-[blog]<br />
-[inne] <br />
<br />
Zły dobór tagu będzie równoznaczy z usunięciem tematu. <br />
Na forum zakazane jest propagowanie treści zabronionych przez polskie i europejskie prawo. W tym dziale obowiązuje całkowity zakaz reklamy warezów, stron pornograficznych itp.<br />
<br />
W każdym temacie musi znaleźć się link klikalny, oraz opis strony. Tematy bez linka, bądź z samym linkiem będą usuwane. <br />
<br />
<span style="font-weight: bold;">Ocenianie:</span><br />
<br />
Bezpodstawna krytyka jest zabroniona. Obrażanie autorów jest również zakazane!<br />
Oceniamy stronę pod względem wyglądu, funkcjonalności i kodu. Administracja nie narzuca skali ocen. Prosimy stosować się jednak do ogólnych zasad i stosować skalę 1-6, bądź 1-10 ;]<br />
<br />
W tym dziale obowiązuje podwyższony "rygor". Moderatorzy będą karać za najmniejsze przewinienia!<br />
<br />
Data wejścia w życie nowego regulaminu: 28.08.08r.<br />
Regulamin nie działa wstecz (nie obowiązuje w tematach założonych przed tą datą).]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Iteratory]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=492</link>
			<pubDate>Thu, 28 Aug 2008 03:03:51 +0200</pubDate>
			<dc:creator>rafio</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=492</guid>
			<description><![CDATA[W tym tutku pokażę jak używać jednej z niepozornych, acz naprawdę potężnych narzędzi php, iteratorów.<br />
<br />
<span style="font-weight: bold;">Czym jest iterator?</span><br />
<br />
W wielkim skrócie i uproszczeniu, jest to pętla, do której wrzuca się coś, i wykonuje akcje na każdym z jej elementów.<br />
<br />
<span style="font-weight: bold;">Jak to działa?</span><br />
<br />
Iteratory są naprawdę prostą konstrukcją. W moim przykładzie zademonstruję używanie iteratora na tablicy, ale iterację można wykonywać także na obiektach.<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Kod PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?<br /><br /></span><span style="color: #FF8000">//tworzę&nbsp;tablicę<br /></span><span style="color: #0000BB">&#36;tablica</span><span style="color: #007700">[&#93;&nbsp;=&nbsp;</span><span style="color: #DD0000">'IP.B'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;tablica</span><span style="color: #007700">[&#93;&nbsp;=&nbsp;</span><span style="color: #DD0000">'vB'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;tablica</span><span style="color: #007700">[&#93;&nbsp;=&nbsp;</span><span style="color: #DD0000">'Callisto'</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//wykonuję&nbsp;na&nbsp;niej&nbsp;iterację<br /></span><span style="color: #007700">foreach(&nbsp;</span><span style="color: #0000BB">&#36;tablica&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;element</span><span style="color: #007700">){<br /><br /></span><span style="color: #FF8000">//sprawdźmy&nbsp;czy&nbsp;mamy&nbsp;Callisto&nbsp;;)<br /></span><span style="color: #007700">if(&nbsp;</span><span style="color: #0000BB">&#36;element&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">'Callisto'</span><span style="color: #007700">){<br /><br />echo&nbsp;</span><span style="color: #0000BB">&#36;element</span><span style="color: #007700">.</span><span style="color: #DD0000">'&nbsp;rządzi!&lt;br&nbsp;/&gt;'</span><span style="color: #007700">;<br /><br />}else{<br /><br />echo&nbsp;</span><span style="color: #0000BB">&#36;element</span><span style="color: #007700">.</span><span style="color: #DD0000">'&nbsp;jest&nbsp;drogi!&lt;br&nbsp;/&gt;'</span><span style="color: #007700">;<br /><br />}<br /><br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div>
<br />
Co widzimy? Iterator otrzymał tablicę &#36;tablica, i przejechał po jej elementach, wykonując akcję szczególną dla Callisto. A co jeśli chcemy wypełnić listę opcjami wyciągniętymi z tablicy, i zawrzeć w niej ID?<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Kod PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?<br /><br />&#36;userzy</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">&#93;&nbsp;=&nbsp;array(<br /></span><span style="color: #DD0000">'n'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'rafio'</span><span style="color: #007700">,<br /></span><span style="color: #DD0000">'f'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'admin'<br /></span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">&#36;userzy</span><span style="color: #007700">[</span><span style="color: #0000BB">42</span><span style="color: #007700">&#93;&nbsp;=&nbsp;array(<br /></span><span style="color: #DD0000">'n'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'zenek'</span><span style="color: #007700">,<br /></span><span style="color: #DD0000">'f'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'mod'<br /></span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">&#36;userzy</span><span style="color: #007700">[</span><span style="color: #0000BB">76</span><span style="color: #007700">&#93;&nbsp;=&nbsp;array(<br /></span><span style="color: #DD0000">'n'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'juzek'</span><span style="color: #007700">,<br /></span><span style="color: #DD0000">'f'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'nikt'<br /></span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//wykonajmy&nbsp;iterację<br /></span><span style="color: #007700">foreach(&nbsp;</span><span style="color: #0000BB">&#36;userzy&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;user_id&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">&#36;user_data</span><span style="color: #007700">){<br /><br /></span><span style="color: #FF8000">//wyswietlmy&nbsp;user<br /></span><span style="color: #007700">echo(&nbsp;</span><span style="color: #0000BB">&#36;user_data</span><span style="color: #007700">[</span><span style="color: #DD0000">'n'</span><span style="color: #007700">&#93;.</span><span style="color: #DD0000">'&nbsp;to&nbsp;'</span><span style="color: #007700">.</span><span style="color: #0000BB">&#36;user_data</span><span style="color: #007700">[</span><span style="color: #DD0000">'f'</span><span style="color: #007700">&#93;.</span><span style="color: #DD0000">',&nbsp;a&nbsp;jego&nbsp;id&nbsp;to&nbsp;'</span><span style="color: #007700">.</span><span style="color: #0000BB">&#36;user_id</span><span style="color: #007700">.</span><span style="color: #DD0000">'&lt;br&nbsp;/&gt;'</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div>
<br />
Jak zapewne zauważyliście, rozbudowaliśmy trochę nasz iterator. Doszła zmienna, zawierająca ID użytkownika. I tak to działa. Jeśli chcesz w iteratorze użyć tylko zawartości elementu, to po <span style="font-weight: bold;">as</span> deklarujesz tylko zmienną z tąże. A jeśli chcesz mieć również klucz(identyfikator) elementu, to po <span style="font-weight: bold;">as</span> pierw deklarujesz zmienna z kluczem, potem wstawiasz operator dopisania do klucza <span style="font-weight: bold;">=&gt;</span>, a następnie zmienną z zawartością elementu. I to już wszystko.]]></description>
			<content:encoded><![CDATA[W tym tutku pokażę jak używać jednej z niepozornych, acz naprawdę potężnych narzędzi php, iteratorów.<br />
<br />
<span style="font-weight: bold;">Czym jest iterator?</span><br />
<br />
W wielkim skrócie i uproszczeniu, jest to pętla, do której wrzuca się coś, i wykonuje akcje na każdym z jej elementów.<br />
<br />
<span style="font-weight: bold;">Jak to działa?</span><br />
<br />
Iteratory są naprawdę prostą konstrukcją. W moim przykładzie zademonstruję używanie iteratora na tablicy, ale iterację można wykonywać także na obiektach.<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Kod PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?<br /><br /></span><span style="color: #FF8000">//tworzę&nbsp;tablicę<br /></span><span style="color: #0000BB">&#36;tablica</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #DD0000">'IP.B'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;tablica</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #DD0000">'vB'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;tablica</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #DD0000">'Callisto'</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//wykonuję&nbsp;na&nbsp;niej&nbsp;iterację<br /></span><span style="color: #007700">foreach(&nbsp;</span><span style="color: #0000BB">&#36;tablica&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;element</span><span style="color: #007700">){<br /><br /></span><span style="color: #FF8000">//sprawdźmy&nbsp;czy&nbsp;mamy&nbsp;Callisto&nbsp;;)<br /></span><span style="color: #007700">if(&nbsp;</span><span style="color: #0000BB">&#36;element&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">'Callisto'</span><span style="color: #007700">){<br /><br />echo&nbsp;</span><span style="color: #0000BB">&#36;element</span><span style="color: #007700">.</span><span style="color: #DD0000">'&nbsp;rządzi!&lt;br&nbsp;/&gt;'</span><span style="color: #007700">;<br /><br />}else{<br /><br />echo&nbsp;</span><span style="color: #0000BB">&#36;element</span><span style="color: #007700">.</span><span style="color: #DD0000">'&nbsp;jest&nbsp;drogi!&lt;br&nbsp;/&gt;'</span><span style="color: #007700">;<br /><br />}<br /><br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div>
<br />
Co widzimy? Iterator otrzymał tablicę &#36;tablica, i przejechał po jej elementach, wykonując akcję szczególną dla Callisto. A co jeśli chcemy wypełnić listę opcjami wyciągniętymi z tablicy, i zawrzeć w niej ID?<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Kod PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?<br /><br />&#36;userzy</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">]&nbsp;=&nbsp;array(<br /></span><span style="color: #DD0000">'n'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'rafio'</span><span style="color: #007700">,<br /></span><span style="color: #DD0000">'f'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'admin'<br /></span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">&#36;userzy</span><span style="color: #007700">[</span><span style="color: #0000BB">42</span><span style="color: #007700">]&nbsp;=&nbsp;array(<br /></span><span style="color: #DD0000">'n'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'zenek'</span><span style="color: #007700">,<br /></span><span style="color: #DD0000">'f'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'mod'<br /></span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">&#36;userzy</span><span style="color: #007700">[</span><span style="color: #0000BB">76</span><span style="color: #007700">]&nbsp;=&nbsp;array(<br /></span><span style="color: #DD0000">'n'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'juzek'</span><span style="color: #007700">,<br /></span><span style="color: #DD0000">'f'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'nikt'<br /></span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//wykonajmy&nbsp;iterację<br /></span><span style="color: #007700">foreach(&nbsp;</span><span style="color: #0000BB">&#36;userzy&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;user_id&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">&#36;user_data</span><span style="color: #007700">){<br /><br /></span><span style="color: #FF8000">//wyswietlmy&nbsp;user<br /></span><span style="color: #007700">echo(&nbsp;</span><span style="color: #0000BB">&#36;user_data</span><span style="color: #007700">[</span><span style="color: #DD0000">'n'</span><span style="color: #007700">].</span><span style="color: #DD0000">'&nbsp;to&nbsp;'</span><span style="color: #007700">.</span><span style="color: #0000BB">&#36;user_data</span><span style="color: #007700">[</span><span style="color: #DD0000">'f'</span><span style="color: #007700">].</span><span style="color: #DD0000">',&nbsp;a&nbsp;jego&nbsp;id&nbsp;to&nbsp;'</span><span style="color: #007700">.</span><span style="color: #0000BB">&#36;user_id</span><span style="color: #007700">.</span><span style="color: #DD0000">'&lt;br&nbsp;/&gt;'</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div>
<br />
Jak zapewne zauważyliście, rozbudowaliśmy trochę nasz iterator. Doszła zmienna, zawierająca ID użytkownika. I tak to działa. Jeśli chcesz w iteratorze użyć tylko zawartości elementu, to po <span style="font-weight: bold;">as</span> deklarujesz tylko zmienną z tąże. A jeśli chcesz mieć również klucz(identyfikator) elementu, to po <span style="font-weight: bold;">as</span> pierw deklarujesz zmienna z kluczem, potem wstawiasz operator dopisania do klucza <span style="font-weight: bold;">=&gt;</span>, a następnie zmienną z zawartością elementu. I to już wszystko.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Statyczne i Singletony]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=491</link>
			<pubDate>Wed, 27 Aug 2008 23:49:31 +0200</pubDate>
			<dc:creator>rafio</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=491</guid>
			<description><![CDATA[Ponieważ było zainteresowanie, gościnnie napiszę dwie ciekawe konstrukcje, umożliwiające uniknięcie stosowania globalnych w pisanych obiektowo skryptach php5. Zastrzegam sobie, żę tekst ten kieruję do osób które mają już jako-takie pojęcie o programowaniu obiektowym w php5.<br />
<br />
<span style="font-weight: bold;">Statyczne</span><br />
<br />
Klasy statyczne to klasy, które nie potrzebują swojej instancji (obiektu) aby funkcjonować. Tworzy się je głównie po to, aby przechowywać w nich funkcje które nie operują na parametrach obiektu. Przykładem może być klasa zapewniająca podstawowe funkcje do operowania na użytkownikach (np. generujaca hashe z haseł):<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Kod PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?<br /><br /></span><span style="color: #FF8000">//definiujemy&nbsp;klasę<br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">users</span><span style="color: #007700">{<br /><br /></span><span style="color: #FF8000">//definiujemy&nbsp;publiczną&nbsp;statyczną&nbsp;funckję<br /></span><span style="color: #007700">static&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">generatePassHash</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;raw_pass</span><span style="color: #007700">){<br /><br />return&nbsp;</span><span style="color: #0000BB">sha1</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">md5</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;raw_pass</span><span style="color: #007700">));<br /><br />}<br /><br />}<br /><br /></span><span style="color: #FF8000">//tworzymy&nbsp;zmienną&nbsp;z&nbsp;surowym&nbsp;hasłem<br /></span><span style="color: #0000BB">&#36;nie_tajne_haslo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'.dupa8'</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//używamy&nbsp;metody&nbsp;statycznej,&nbsp;do&nbsp;jego&nbsp;zaszyfrowania<br /></span><span style="color: #007700">echo(&nbsp;</span><span style="color: #0000BB">users</span><span style="color: #007700">::</span><span style="color: #0000BB">generatePassHash</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;nie_tajne_haslo&nbsp;</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div>
<br />
Ten kod powinien wyświetlić nam hash sha1 hashu md5 naszego hasła. Zauważcie że do metody klasy dostaję się poprzez operator <span style="font-weight: bold;">::</span>, który pracuje bezpośrednio na deklaracjach klas, a nie <span style="font-weight: bold;">-&gt;</span> który działa na ich instancjach.<br />
<br />
<span style="font-weight: bold;">Singletony</span><br />
<br />
Czasem relacje międzi obiektami są tak skonstruowane, że nie ma możliwości przekazania odwołania do obiektu tam, gdzie byśmy chcieli. Obejściem tego są singletony, które cechują się tym, że posiadają własną metodą statyczną, która zwróci nam to odwołanie. Zasadnicza różnica między singeltonem a stytaczną jest taka, że ten pierwszy wymaga utworzenia obiektu. Teraz pokażę jak wygląda naprawdę prosty singleton:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Kod PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">singleton</span><span style="color: #007700">{<br /><br /></span><span style="color: #FF8000">/**<br />&nbsp;*&nbsp;Tworzymy&nbsp;parametr,&nbsp;który&nbsp;w&nbsp;singletionie&nbsp;będzie&nbsp;trzymał&nbsp;wskażnik<br />&nbsp;*&nbsp;udostępniany&nbsp;innym&nbsp;klasom<br />&nbsp;*<br />&nbsp;*&nbsp;@var&nbsp;reference&nbsp;&#36;instance<br />&nbsp;*/<br /><br /></span><span style="color: #007700">static&nbsp;private&nbsp;</span><span style="color: #0000BB">&#36;instance</span><span style="color: #007700">;<br /><br />public&nbsp;function&nbsp;</span><span style="color: #0000BB">__construct</span><span style="color: #007700">(){<br /><br /></span><span style="color: #FF8000">//zachowajmy&nbsp;wskaźnik<br /></span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">&#36;instance&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;this</span><span style="color: #007700">;<br /><br />}<br /><br /></span><span style="color: #FF8000">//funkcja&nbsp;na&nbsp;zapytanie&nbsp;zwracająca&nbsp;wskaźnik<br /></span><span style="color: #007700">static&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">getReference</span><span style="color: #007700">(){<br /><br />return&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">&#36;instance</span><span style="color: #007700">;<br /><br />}<br /><br /></span><span style="color: #FF8000">//foo<br /></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">foo</span><span style="color: #007700">(){<br /><br />echo&nbsp;</span><span style="color: #DD0000">'foo'</span><span style="color: #007700">;<br /><br />}<br /><br />}<br /><br /></span><span style="color: #FF8000">//stworzmy&nbsp;obiekt<br /></span><span style="color: #0000BB">&#36;singleton&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">singleton</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div>
<br />
Właśnie stworzyliśmy singleton. Teraz zademonstruję, jak można go używać:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Kod PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">foo</span><span style="color: #007700">{<br /><br /></span><span style="color: #FF8000">/**<br />&nbsp;*&nbsp;tutaj&nbsp;klasa&nbsp;będzie&nbsp;trzymać&nbsp;wksaźnik&nbsp;do&nbsp;singletonu<br />&nbsp;*/<br /><br /></span><span style="color: #007700">private&nbsp;</span><span style="color: #0000BB">&#36;singleton<br /><br /></span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">__construct</span><span style="color: #007700">(){<br /><br /></span><span style="color: #FF8000">//weźmy&nbsp;wskaźnik&nbsp;od&nbsp;singletonu<br /></span><span style="color: #0000BB">&#36;this&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">singleton&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">singleton</span><span style="color: #007700">::</span><span style="color: #0000BB">getReference</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">//uzyjmy&nbsp;singletonu<br /></span><span style="color: #0000BB">&#36;this&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">singleton&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">foo</span><span style="color: #007700">();<br /><br />}<br /><br />}<br /><br /></span><span style="color: #FF8000">//stworzmy&nbsp;obiek<br /></span><span style="color: #0000BB">&#36;foo_class&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">foo</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div>
<br />
Singleton to tak naprawdę mieszanka normalnego obiektu ze statycznym. Cechuje się on tym, że nigdy nie tworzy się wiecej niż jednej jego instancji (stąd nazwa).<br />
<br />
Pojawiła się tutaj konstrukcja self:: Jest to statyczny odpowiednik &#36;this -&gt;.]]></description>
			<content:encoded><![CDATA[Ponieważ było zainteresowanie, gościnnie napiszę dwie ciekawe konstrukcje, umożliwiające uniknięcie stosowania globalnych w pisanych obiektowo skryptach php5. Zastrzegam sobie, żę tekst ten kieruję do osób które mają już jako-takie pojęcie o programowaniu obiektowym w php5.<br />
<br />
<span style="font-weight: bold;">Statyczne</span><br />
<br />
Klasy statyczne to klasy, które nie potrzebują swojej instancji (obiektu) aby funkcjonować. Tworzy się je głównie po to, aby przechowywać w nich funkcje które nie operują na parametrach obiektu. Przykładem może być klasa zapewniająca podstawowe funkcje do operowania na użytkownikach (np. generujaca hashe z haseł):<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Kod PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?<br /><br /></span><span style="color: #FF8000">//definiujemy&nbsp;klasę<br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">users</span><span style="color: #007700">{<br /><br /></span><span style="color: #FF8000">//definiujemy&nbsp;publiczną&nbsp;statyczną&nbsp;funckję<br /></span><span style="color: #007700">static&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">generatePassHash</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;raw_pass</span><span style="color: #007700">){<br /><br />return&nbsp;</span><span style="color: #0000BB">sha1</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">md5</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;raw_pass</span><span style="color: #007700">));<br /><br />}<br /><br />}<br /><br /></span><span style="color: #FF8000">//tworzymy&nbsp;zmienną&nbsp;z&nbsp;surowym&nbsp;hasłem<br /></span><span style="color: #0000BB">&#36;nie_tajne_haslo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'.dupa8'</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//używamy&nbsp;metody&nbsp;statycznej,&nbsp;do&nbsp;jego&nbsp;zaszyfrowania<br /></span><span style="color: #007700">echo(&nbsp;</span><span style="color: #0000BB">users</span><span style="color: #007700">::</span><span style="color: #0000BB">generatePassHash</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;nie_tajne_haslo&nbsp;</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div>
<br />
Ten kod powinien wyświetlić nam hash sha1 hashu md5 naszego hasła. Zauważcie że do metody klasy dostaję się poprzez operator <span style="font-weight: bold;">::</span>, który pracuje bezpośrednio na deklaracjach klas, a nie <span style="font-weight: bold;">-&gt;</span> który działa na ich instancjach.<br />
<br />
<span style="font-weight: bold;">Singletony</span><br />
<br />
Czasem relacje międzi obiektami są tak skonstruowane, że nie ma możliwości przekazania odwołania do obiektu tam, gdzie byśmy chcieli. Obejściem tego są singletony, które cechują się tym, że posiadają własną metodą statyczną, która zwróci nam to odwołanie. Zasadnicza różnica między singeltonem a stytaczną jest taka, że ten pierwszy wymaga utworzenia obiektu. Teraz pokażę jak wygląda naprawdę prosty singleton:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Kod PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">singleton</span><span style="color: #007700">{<br /><br /></span><span style="color: #FF8000">/**<br />&nbsp;*&nbsp;Tworzymy&nbsp;parametr,&nbsp;który&nbsp;w&nbsp;singletionie&nbsp;będzie&nbsp;trzymał&nbsp;wskażnik<br />&nbsp;*&nbsp;udostępniany&nbsp;innym&nbsp;klasom<br />&nbsp;*<br />&nbsp;*&nbsp;@var&nbsp;reference&nbsp;&#36;instance<br />&nbsp;*/<br /><br /></span><span style="color: #007700">static&nbsp;private&nbsp;</span><span style="color: #0000BB">&#36;instance</span><span style="color: #007700">;<br /><br />public&nbsp;function&nbsp;</span><span style="color: #0000BB">__construct</span><span style="color: #007700">(){<br /><br /></span><span style="color: #FF8000">//zachowajmy&nbsp;wskaźnik<br /></span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">&#36;instance&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;this</span><span style="color: #007700">;<br /><br />}<br /><br /></span><span style="color: #FF8000">//funkcja&nbsp;na&nbsp;zapytanie&nbsp;zwracająca&nbsp;wskaźnik<br /></span><span style="color: #007700">static&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">getReference</span><span style="color: #007700">(){<br /><br />return&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">&#36;instance</span><span style="color: #007700">;<br /><br />}<br /><br /></span><span style="color: #FF8000">//foo<br /></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">foo</span><span style="color: #007700">(){<br /><br />echo&nbsp;</span><span style="color: #DD0000">'foo'</span><span style="color: #007700">;<br /><br />}<br /><br />}<br /><br /></span><span style="color: #FF8000">//stworzmy&nbsp;obiekt<br /></span><span style="color: #0000BB">&#36;singleton&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">singleton</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div>
<br />
Właśnie stworzyliśmy singleton. Teraz zademonstruję, jak można go używać:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Kod PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">foo</span><span style="color: #007700">{<br /><br /></span><span style="color: #FF8000">/**<br />&nbsp;*&nbsp;tutaj&nbsp;klasa&nbsp;będzie&nbsp;trzymać&nbsp;wksaźnik&nbsp;do&nbsp;singletonu<br />&nbsp;*/<br /><br /></span><span style="color: #007700">private&nbsp;</span><span style="color: #0000BB">&#36;singleton<br /><br /></span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">__construct</span><span style="color: #007700">(){<br /><br /></span><span style="color: #FF8000">//weźmy&nbsp;wskaźnik&nbsp;od&nbsp;singletonu<br /></span><span style="color: #0000BB">&#36;this&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">singleton&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">singleton</span><span style="color: #007700">::</span><span style="color: #0000BB">getReference</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">//uzyjmy&nbsp;singletonu<br /></span><span style="color: #0000BB">&#36;this&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">singleton&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">foo</span><span style="color: #007700">();<br /><br />}<br /><br />}<br /><br /></span><span style="color: #FF8000">//stworzmy&nbsp;obiek<br /></span><span style="color: #0000BB">&#36;foo_class&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">foo</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div>
<br />
Singleton to tak naprawdę mieszanka normalnego obiektu ze statycznym. Cechuje się on tym, że nigdy nie tworzy się wiecej niż jednej jego instancji (stąd nazwa).<br />
<br />
Pojawiła się tutaj konstrukcja self:: Jest to statyczny odpowiednik &#36;this -&gt;.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Nowy styl - nowa jakość.]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=490</link>
			<pubDate>Wed, 27 Aug 2008 20:50:00 +0200</pubDate>
			<dc:creator>dewholer</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=490</guid>
			<description><![CDATA[Witam!<br />
<br />
W dniu dzisiejszym wprowadzilismy na forum nowy styl. Zdajemy sobie sprawę z tego, że nie jest on idealny. Nie jeteśmy grafikami. Stworzylismy skin przyjemny dla oka, przejrzysty i myślę, że nawet ciekawy graficznie.<br />
<br />
Wszystkich użytkowników prosimy o zapoznanie się z nowymi skinem, zgłaszanie niedociągnięć i błędów oraz <span style="text-decoration: underline;">konstruktywne</span> oceny.<br />
<br />
Autorem stylu jest Kaczlawo, któremu serdecznie dziękujemy!<br />
<br />
W ciągu najbliższych dni możecie spodziewać się większej ilości zmian ;&#93;]]></description>
			<content:encoded><![CDATA[Witam!<br />
<br />
W dniu dzisiejszym wprowadzilismy na forum nowy styl. Zdajemy sobie sprawę z tego, że nie jest on idealny. Nie jeteśmy grafikami. Stworzylismy skin przyjemny dla oka, przejrzysty i myślę, że nawet ciekawy graficznie.<br />
<br />
Wszystkich użytkowników prosimy o zapoznanie się z nowymi skinem, zgłaszanie niedociągnięć i błędów oraz <span style="text-decoration: underline;">konstruktywne</span> oceny.<br />
<br />
Autorem stylu jest Kaczlawo, któremu serdecznie dziękujemy!<br />
<br />
W ciągu najbliższych dni możecie spodziewać się większej ilości zmian ;]]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Bartosz Portfolio 1.0 Beta]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=489</link>
			<pubDate>Wed, 27 Aug 2008 15:04:40 +0200</pubDate>
			<dc:creator>Bartosz</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=489</guid>
			<description><![CDATA[Oto mój graficzny projekt portfolio :) Czekam na komentarze. Prosiłbym o wyszczególnienie tego co mam zmienić<br />
<br />
<a href="http://www.vpx.pl/foto,untitled1_copy109.html" target="_blank"><img src="http://www.vpx.pl/up/20080827/mluntitled1_copy.jpg" border="0" alt="[Obrazek: mluntitled1_copy.jpg&#93;" /></a>]]></description>
			<content:encoded><![CDATA[Oto mój graficzny projekt portfolio :) Czekam na komentarze. Prosiłbym o wyszczególnienie tego co mam zmienić<br />
<br />
<a href="http://www.vpx.pl/foto,untitled1_copy109.html" target="_blank"><img src="http://www.vpx.pl/up/20080827/mluntitled1_copy.jpg" border="0" alt="[Obrazek: mluntitled1_copy.jpg]" /></a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[DIVy obok siebie w IE - nagle głupieją:/]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=488</link>
			<pubDate>Tue, 26 Aug 2008 18:35:44 +0200</pubDate>
			<dc:creator>MROOV@</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=488</guid>
			<description><![CDATA[Witam...<br />
Wkurzony jestem jak nie wiem... <img src="http://www.forum.exploitek.info/images/smilies/angry.gif" style="vertical-align: middle;" border="0" alt="Angry" title="Angry" /><br />
<br />
Zrobiłem DIVY i w stylach 'display: inline' kiedy dodam do środka tych DIVów inne DIVy (zwykłe z textem) od razu mi głupieje na IE (6 i 7). Te bloki, które mają być obok siebie, są pod sobą... Do tego rojeżdżają się te DIVy z textem w środku na całą szerokość (choć mają określone width)<br />
<br />
Znalazłem gdzieś o display: inline-table; ale to nic nie daje....<br />
<br />
Kombinuje już z godzinę nad tym... <img src="http://www.forum.exploitek.info/images/smilies/mad.gif" style="vertical-align: middle;" border="0" alt="Mad" title="Mad" /><br />
<br />
Macie jakiś pomysł? Wykluczając tabelkę...<br />
<br />
ps. Sorry, ale musze... PIEPRZONY microshit....<img src="http://www.forum.exploitek.info/images/smilies/mad.gif" style="vertical-align: middle;" border="0" alt="Mad" title="Mad" />]]></description>
			<content:encoded><![CDATA[Witam...<br />
Wkurzony jestem jak nie wiem... <img src="http://www.forum.exploitek.info/images/smilies/angry.gif" style="vertical-align: middle;" border="0" alt="Angry" title="Angry" /><br />
<br />
Zrobiłem DIVY i w stylach 'display: inline' kiedy dodam do środka tych DIVów inne DIVy (zwykłe z textem) od razu mi głupieje na IE (6 i 7). Te bloki, które mają być obok siebie, są pod sobą... Do tego rojeżdżają się te DIVy z textem w środku na całą szerokość (choć mają określone width)<br />
<br />
Znalazłem gdzieś o display: inline-table; ale to nic nie daje....<br />
<br />
Kombinuje już z godzinę nad tym... <img src="http://www.forum.exploitek.info/images/smilies/mad.gif" style="vertical-align: middle;" border="0" alt="Mad" title="Mad" /><br />
<br />
Macie jakiś pomysł? Wykluczając tabelkę...<br />
<br />
ps. Sorry, ale musze... PIEPRZONY microshit....<img src="http://www.forum.exploitek.info/images/smilies/mad.gif" style="vertical-align: middle;" border="0" alt="Mad" title="Mad" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[sieć komórkowa, poradźcie coś :)]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=486</link>
			<pubDate>Sat, 23 Aug 2008 10:31:40 +0200</pubDate>
			<dc:creator>MROOV@</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=486</guid>
			<description><![CDATA[Mam sobie simplusa (plus gsm). Wkurzają mnie problemy z zasięgiem i drogie rozmowy...<br />
Zastanawiam się nad heyah....<br />
<br />
Co myślicie o czerwonej łapie? Może poradzicie coś innego?]]></description>
			<content:encoded><![CDATA[Mam sobie simplusa (plus gsm). Wkurzają mnie problemy z zasięgiem i drogie rozmowy...<br />
Zastanawiam się nad heyah....<br />
<br />
Co myślicie o czerwonej łapie? Może poradzicie coś innego?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Forum webmasterskie]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=485</link>
			<pubDate>Thu, 21 Aug 2008 13:03:41 +0200</pubDate>
			<dc:creator>Razor-90</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=485</guid>
			<description><![CDATA[Zapraszam do ocen i na <a href="http://www.centrumweb.yoyo.pl" target="_blank">forum webmasterskie</a>]]></description>
			<content:encoded><![CDATA[Zapraszam do ocen i na <a href="http://www.centrumweb.yoyo.pl" target="_blank">forum webmasterskie</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Forum&#93; www.Web-Masterzy.pl - Twoje forum webmasterskie!]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=484</link>
			<pubDate>Mon, 18 Aug 2008 17:45:30 +0200</pubDate>
			<dc:creator>Apex</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=484</guid>
			<description><![CDATA[Witam, chciałbym was zaprosić na nowo powstałe forum <a href="http://www.Web-Masterzy.pl" target="_blank">http://www.Web-Masterzy.pl</a>.<br />
Na forum znajdziecie różne tutoriale oraz fachową pomoc.<br />
Stoimy na polskim skrypcie forum Callisto zmodyfikowanym przez nas.<br />
Posiadamy swój autorski styl.<br />
Serdecznie zapraszamy!<br />
<a href="http://www.Web-Masterzy.pl" target="_blank">http://www.Web-Masterzy.pl</a> - Twoje forum webmasterskie!]]></description>
			<content:encoded><![CDATA[Witam, chciałbym was zaprosić na nowo powstałe forum <a href="http://www.Web-Masterzy.pl" target="_blank">http://www.Web-Masterzy.pl</a>.<br />
Na forum znajdziecie różne tutoriale oraz fachową pomoc.<br />
Stoimy na polskim skrypcie forum Callisto zmodyfikowanym przez nas.<br />
Posiadamy swój autorski styl.<br />
Serdecznie zapraszamy!<br />
<a href="http://www.Web-Masterzy.pl" target="_blank">http://www.Web-Masterzy.pl</a> - Twoje forum webmasterskie!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[eXtreme-fusion i 'blank' u niektórych...]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=483</link>
			<pubDate>Sun, 17 Aug 2008 18:27:01 +0200</pubDate>
			<dc:creator>oSiK</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=483</guid>
			<description><![CDATA[Witam.<br />
Parę dni temu postawiłem sobie serwis na fusionie, na serwerze udostępnionym mi przez Netię (nethosting).<br />
Po wprowadzeniu małej ilości modyfikacji i odrobiny treści, porozsyłałem linki po znajomych. <br />
Ku mojemu zaskoczeniu, część z nich oznajmiła, że zamiast stronki widzi "pustą białą kartkę"... Dziś rano włączając kompa, także nie potrafiłem dostać się na swoją stronę. Po przerestartowaniu internetu, stronka wczytała mi się normalnie...<br />
<br />
Czy ktoś potrafi powiedzieć mi, co robię nie tak? Albo doradzić co można zrobić, aby stronka działała poprawnie...?<br />
Adres stronki mam w stopce, <a href="http://www.nethosting.pl/" target="_blank">hosting (klik) </a>]]></description>
			<content:encoded><![CDATA[Witam.<br />
Parę dni temu postawiłem sobie serwis na fusionie, na serwerze udostępnionym mi przez Netię (nethosting).<br />
Po wprowadzeniu małej ilości modyfikacji i odrobiny treści, porozsyłałem linki po znajomych. <br />
Ku mojemu zaskoczeniu, część z nich oznajmiła, że zamiast stronki widzi "pustą białą kartkę"... Dziś rano włączając kompa, także nie potrafiłem dostać się na swoją stronę. Po przerestartowaniu internetu, stronka wczytała mi się normalnie...<br />
<br />
Czy ktoś potrafi powiedzieć mi, co robię nie tak? Albo doradzić co można zrobić, aby stronka działała poprawnie...?<br />
Adres stronki mam w stopce, <a href="http://www.nethosting.pl/" target="_blank">hosting (klik) </a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Sposób na lenia....]]></title>
			<link>http://www.forum.exploitek.info/showthread.php?tid=482</link>
			<pubDate>Sun, 17 Aug 2008 12:48:45 +0200</pubDate>
			<dc:creator>MROOV@</dc:creator>
			<guid isPermaLink="false">http://www.forum.exploitek.info/showthread.php?tid=482</guid>
			<description><![CDATA[Yhhhh......<br />
Jakoś ostatnio mam lenia....<br />
Nic mi sie nie chce....<br />
Co radzicie? :P<br />
Help... <br />
xDDDD<br />
<br />
btw. piszta coś, ostatnio tu cicho jak na cmentarzu....]]></description>
			<content:encoded><![CDATA[Yhhhh......<br />
Jakoś ostatnio mam lenia....<br />
Nic mi sie nie chce....<br />
Co radzicie? :P<br />
Help... <br />
xDDDD<br />
<br />
btw. piszta coś, ostatnio tu cicho jak na cmentarzu....]]></content:encoded>
		</item>
	</channel>
</rss>