<?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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Paginacja (stronicowanie) w PHP</title>
	<atom:link href="http://athlan.pl/paginacja-php-stronicowanie/feed/" rel="self" type="application/rss+xml" />
	<link>http://athlan.pl/paginacja-php-stronicowanie/</link>
	<description>Napisać kod zrozumiały dla komputera potrafi byle głupek. Dobrzy programiści tworzą kod zrozumiały dla człowieka...</description>
	<lastBuildDate>Mon, 05 Mar 2012 11:45:55 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<item>
		<title>By: Athlan</title>
		<link>http://athlan.pl/paginacja-php-stronicowanie/comment-page-1/#comment-6366</link>
		<dc:creator>Athlan</dc:creator>
		<pubDate>Sun, 05 Dec 2010 12:55:25 +0000</pubDate>
		<guid isPermaLink="false">http://athlan.pl/?p=177#comment-6366</guid>
		<description>@d~b: to nie bug. W przypadku MySQL limit idzie od zera, natomiast biblioteka jest zaprojektowana pod bardziej uniwersalne rozwiązania, tylu indeksowanie tablic od indeksu pierwszego. Element startowy programista dopasowuje sobie w zależności od własnych potrzeb i narzuconych przez niego form indeksowania. Startowym elementem jest liczba naturalna 1. Jeżeli chcesz zero, należy faktycznie zdekrementować.</description>
		<content:encoded><![CDATA[<p>@d~b: to nie bug. W przypadku MySQL limit idzie od zera, natomiast biblioteka jest zaprojektowana pod bardziej uniwersalne rozwiązania, tylu indeksowanie tablic od indeksu pierwszego. Element startowy programista dopasowuje sobie w zależności od własnych potrzeb i narzuconych przez niego form indeksowania. Startowym elementem jest liczba naturalna 1. Jeżeli chcesz zero, należy faktycznie zdekrementować.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: d~b</title>
		<link>http://athlan.pl/paginacja-php-stronicowanie/comment-page-1/#comment-6365</link>
		<dc:creator>d~b</dc:creator>
		<pubDate>Sat, 04 Dec 2010 22:35:25 +0000</pubDate>
		<guid isPermaLink="false">http://athlan.pl/?p=177#comment-6365</guid>
		<description>wszystko fajnie, tylko tu masz BUGA:)
przykład:
$iItemsCount=1 lub 0;
$iLimit=1;
$iCurrentPage=3;

powinniśmy dostać:
LIMIT 0, 1
a dostajemy 
LIMIT 1, 1

linia: 110
należy zamienić na: return $this-&gt;render(&#039;start&#039;)-1;</description>
		<content:encoded><![CDATA[<p>wszystko fajnie, tylko tu masz BUGA:)<br />
przykład:<br />
$iItemsCount=1 lub 0;<br />
$iLimit=1;<br />
$iCurrentPage=3;</p>
<p>powinniśmy dostać:<br />
LIMIT 0, 1<br />
a dostajemy<br />
LIMIT 1, 1</p>
<p>linia: 110<br />
należy zamienić na: return $this-&gt;render(&#8216;start&#8217;)-1;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: matipl</title>
		<link>http://athlan.pl/paginacja-php-stronicowanie/comment-page-1/#comment-6144</link>
		<dc:creator>matipl</dc:creator>
		<pubDate>Mon, 05 Jan 2009 18:09:13 +0000</pubDate>
		<guid isPermaLink="false">http://athlan.pl/?p=177#comment-6144</guid>
		<description>Mi się nie podoba takie sztuczne zmniejszanie linii kodu, wolałbym z set/get i rozdzieleniem render na kilka metod, a nie jako możliwy parametr null, bool oraz string(!)

Poza tym dziwię się, że jeszcze rozwijasz Vframe, chociaż pewnie masz sporo projektów już popisanych, i nagle sobie klient o czymś przypomni.
Dzisiaj mamy już dosyć sporo dobrze rozbudowanych frameworków, paginację mamy chociażby we wspomnianym Zend_Paginator</description>
		<content:encoded><![CDATA[<p>Mi się nie podoba takie sztuczne zmniejszanie linii kodu, wolałbym z set/get i rozdzieleniem render na kilka metod, a nie jako możliwy parametr null, bool oraz string(!)</p>
<p>Poza tym dziwię się, że jeszcze rozwijasz Vframe, chociaż pewnie masz sporo projektów już popisanych, i nagle sobie klient o czymś przypomni.<br />
Dzisiaj mamy już dosyć sporo dobrze rozbudowanych frameworków, paginację mamy chociażby we wspomnianym Zend_Paginator</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sobstel</title>
		<link>http://athlan.pl/paginacja-php-stronicowanie/comment-page-1/#comment-6143</link>
		<dc:creator>sobstel</dc:creator>
		<pubDate>Mon, 05 Jan 2009 07:49:17 +0000</pubDate>
		<guid isPermaLink="false">http://athlan.pl/?p=177#comment-6143</guid>
		<description>Bardzo ciekawie wygląda to także w Doctrine http://www.doctrine-project.org/documentation/manual/1_0/en/utilities</description>
		<content:encoded><![CDATA[<p>Bardzo ciekawie wygląda to także w Doctrine <a href="http://www.doctrine-project.org/documentation/manual/1_0/en/utilities" rel="nofollow">http://www.doctrine-project.org/documentation/manual/1_0/en/utilities</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Athlan</title>
		<link>http://athlan.pl/paginacja-php-stronicowanie/comment-page-1/#comment-6142</link>
		<dc:creator>Athlan</dc:creator>
		<pubDate>Sun, 04 Jan 2009 20:42:52 +0000</pubDate>
		<guid isPermaLink="false">http://athlan.pl/?p=177#comment-6142</guid>
		<description>@tiraeth:
— Gettery i settery nie są uniwersalne pod względem rzucania wyjątków (zarówno message, jak i walidacji wprowadzanych danych), na czym mi zależy. Pisanie ifów w setterach jest mijaniem się z celem.
— Sensowne, czy nie... tak czy siak metoda Render() posiada tablicę po renderowaniu, dlatego parametr jako string jest dodatkową opcją jako klucz tej tablicy, który ma zwrócić.
— 3 patterny można by było zmienić w jeden - tu masz całkowitą rację. Natomiast czwarty odnoszący się do nawigacji powinien zostać, jest wygodniejszy (patrz: argumenty funkcji i ich wykorzystanie).
— Klasa po usunięciu komentarzy ma ~200 linii, 300 ma już z :) Pozwoliłem sobie policzyć.

@krzyzak: Stronnicowanie to równie trafne pojęcie, ale chodziło mi o &lt;strong&gt;paginację&lt;/strong&gt; :-)
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://pl.wikipedia.org/wiki/Paginacja&quot; rel=&quot;nofollow&quot;&gt;Pojęcie&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://translate.google.com/translate_t#en&#124;pl&#124;paginate&quot; rel=&quot;nofollow&quot;&gt;ogólnie&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.sjp.pl/paginowa%E6&quot; rel=&quot;nofollow&quot;&gt;znane&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://framework.zend.com/manual/en/zend.paginator.html&quot; rel=&quot;nofollow&quot;&gt;webmasterom&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
Ale dodam stronicowanie do tytułu.</description>
		<content:encoded><![CDATA[<p>@tiraeth:<br />
— Gettery i settery nie są uniwersalne pod względem rzucania wyjątków (zarówno message, jak i walidacji wprowadzanych danych), na czym mi zależy. Pisanie ifów w setterach jest mijaniem się z celem.<br />
— Sensowne, czy nie&#8230; tak czy siak metoda Render() posiada tablicę po renderowaniu, dlatego parametr jako string jest dodatkową opcją jako klucz tej tablicy, który ma zwrócić.<br />
— 3 patterny można by było zmienić w jeden &#8211; tu masz całkowitą rację. Natomiast czwarty odnoszący się do nawigacji powinien zostać, jest wygodniejszy (patrz: argumenty funkcji i ich wykorzystanie).<br />
— Klasa po usunięciu komentarzy ma ~200 linii, 300 ma już z :) Pozwoliłem sobie policzyć.</p>
<p>@krzyzak: Stronnicowanie to równie trafne pojęcie, ale chodziło mi o <strong>paginację</strong> :-)</p>
<ul>
<li><a href="http://pl.wikipedia.org/wiki/Paginacja" rel="nofollow">Pojęcie</a></li>
<li><a href="http://translate.google.com/translate_t#en|pl|paginate" rel="nofollow">ogólnie</a></li>
<li><a href="http://www.sjp.pl/paginowa%E6" rel="nofollow">znane</a></li>
<li><a href="http://framework.zend.com/manual/en/zend.paginator.html" rel="nofollow">webmasterom</a></li>
</ul>
<p>Ale dodam stronicowanie do tytułu.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: krzyzak</title>
		<link>http://athlan.pl/paginacja-php-stronicowanie/comment-page-1/#comment-6141</link>
		<dc:creator>krzyzak</dc:creator>
		<pubDate>Sun, 04 Jan 2009 20:42:10 +0000</pubDate>
		<guid isPermaLink="false">http://athlan.pl/?p=177#comment-6141</guid>
		<description>poza tym co to jest paginacja? chyba chodziło Ci o stronnicowanie.</description>
		<content:encoded><![CDATA[<p>poza tym co to jest paginacja? chyba chodziło Ci o stronnicowanie.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tiraeth</title>
		<link>http://athlan.pl/paginacja-php-stronicowanie/comment-page-1/#comment-6140</link>
		<dc:creator>tiraeth</dc:creator>
		<pubDate>Sun, 04 Jan 2009 18:21:40 +0000</pubDate>
		<guid isPermaLink="false">http://athlan.pl/?p=177#comment-6140</guid>
		<description>&quot;nagromadzenie metod, tj. setLimit(), getLimit(), zamiast pojedynczego limit(),&quot;
--- Od tego są gettery i settery (zresztą nieźle działające od PHP w wersji 5), żeby z nich korzystać.

&quot;Jeżeli string, zostaje zwracana wartość po renderowaniu pagera, np. element startujący przedział mnożony po limicie: $oPager-&gt;Render(’start’);. Ten sam efekt powoduje metoda $oPager-&gt;start();&quot;
--- Czy to nie jest bezsensowne?

Znowu z przykrością muszę powiedzieć, że napisałeś ponad 300 linii, z czego ponad połowa jest niepotrzebna (nie mówię o komentarzach). Mamy gettery, mamy settery, samo ustawienie szablonu (czyli Twoje &quot;Pattern&quot;) powinno być obsługiwane jedną metodą (przyjmującą np. tablicę-hasz).

Ilość to nie jakość. Wygląd kodu też nie. Osobiście nie polecałbym użycia tego, z prostego powodu, namotanie w tej klasie.</description>
		<content:encoded><![CDATA[<p>&#8220;nagromadzenie metod, tj. setLimit(), getLimit(), zamiast pojedynczego limit(),&#8221;<br />
&#8212; Od tego są gettery i settery (zresztą nieźle działające od PHP w wersji 5), żeby z nich korzystać.</p>
<p>&#8220;Jeżeli string, zostaje zwracana wartość po renderowaniu pagera, np. element startujący przedział mnożony po limicie: $oPager-&gt;Render(’start’);. Ten sam efekt powoduje metoda $oPager-&gt;start();&#8221;<br />
&#8212; Czy to nie jest bezsensowne?</p>
<p>Znowu z przykrością muszę powiedzieć, że napisałeś ponad 300 linii, z czego ponad połowa jest niepotrzebna (nie mówię o komentarzach). Mamy gettery, mamy settery, samo ustawienie szablonu (czyli Twoje &#8220;Pattern&#8221;) powinno być obsługiwane jedną metodą (przyjmującą np. tablicę-hasz).</p>
<p>Ilość to nie jakość. Wygląd kodu też nie. Osobiście nie polecałbym użycia tego, z prostego powodu, namotanie w tej klasie.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
