![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Witam,
właśnie na własne potrzeby napisałem prościutką klasę pagera. Nie posiada metody generującej kod HTML - ten element wykonywany jest już w samym widoku. Klasa lekka, a co za tym idzie szybka. Do konkstruktora przekazujemy aktualnie wyświetlaną stronę oraz liczbę wszystkich stron. // EDIT: dodałem statyczną metodę (calculateTotal()) obliczającą liczbę stron potrzebnych do paginacji
oraz przykład zastosowania. W kontrolerze:
W widoku:
Ten post edytował phpion.com 30.12.2007, 10:33:54 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
mało przejrzyste, mało elastyczne, widok to już porażka (przynajmniej helpera z tego zróB).
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
mało przejrzyste Tzn? mało elastyczne Przecież można dziedziczyć po tej klasie i tworzyć inne pagery. widok to już porażka (przynajmniej helpera z tego zróB). W zamyśle widok dla pagera ma być wczytywany w innych widokach. Co z nim takiego porażkowego? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Nie wnosi nic nowego jak pozostalem klasy paginacji...
@normanos: Jak ty widzisz tutaj zachowanie helpera? -------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Nie wnosi nic nowego jak pozostalem klasy paginacji... No a niby co ma wnosić? Nie posiada nic poza konstruktorem i getterami. Mi w zupełności taka klasa wystarcza. @normanos: Jak ty widzisz tutaj zachowanie helpera? No pewnie na podobnej zasadzie jak przedstawiony widok. Helper po prostu by generował podobny kod. Ja jednak pozostanę przy obecnej wersji tj. dołączaniu powyższego kodu jako widoku. Naprawdę nie wiem co z nim jest takiego "be". |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 611 Pomógł: 19 Dołączył: 28.02.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
ale dobrze by było udowodnić dlaczego uważasz że nie jest ble jakie ma zalety i co go odróznia od tego co tu można było znaleźć na forum wiele razy
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Nie twierdzę, że wszystko jest mega pro. Po prostu takiej funkcjonalności potrzebowałem, taką klasę napisałem i taką wrzuciłem na forum. Jeżeli macie jakieś zarzuty to chciałbym poznać jakieś konkrety aby nanieść modyfikacje.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
chyba nie dokońca wiesz co to jest widok.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
@phpion: wybacz moją pośpieszną ocenę. nie jest tak źle jak szybko rzucając na to okiem przyjąłem. rozumiem, że cały widok nawigatora przekazujesz sobie jedną zmienną?
-------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 319 Pomógł: 118 Dołączył: 26.11.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
jak dla mnie klasa przyjemna, prosta i o to chodzi, szczegolnie jak ktos robi stronicowanie na prostej stronie i nie potrzeba mu wielkich kombajnow
a wszystko nadaje sie swietnie do rozbudowy na wlasne potrzeby ![]() Ten post edytował my salsa 18.01.2008, 21:40:52 -------------------- scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
@phpion: wybacz moją pośpieszną ocenę. nie jest tak źle jak szybko rzucając na to okiem przyjąłem. rozumiem, że cały widok nawigatora przekazujesz sobie jedną zmienną? Wybaczam ![]() ![]() jak dla mnie klasa przyjemna, prosta i o to chodzi, szczegolnie jak ktos robi stronicowanie na prostej stronie i nie potrzeba mu wielkich kombajnow a wszystko nadaje sie swietnie do rozbudowy na wlasne potrzeby ![]() Dokładnie to chciałem osiągnąć (powtarzam się ![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 1 319 Pomógł: 118 Dołączył: 26.11.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Żadnego generowania kodu, żadnego $pager->display(). no i tak jest najlepiej, zaloze sie ze 80% osob, ktore korzystaly z gotowych pagerow, musialo i tak po swojemu modyfikowac (albo pisac od nowa) funkcje display ![]() -------------------- scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
$pagination->display('typ'); jest dobre zakładając, że np. formatujesz sobie widok nawigatora wg. jakiś tam (różnych szablonów).
-------------------- |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
$pagination->display('typ'); jest dobre zakładając, że np. formatujesz sobie widok nawigatora wg. jakiś tam (różnych szablonów). Rozumiem, że na podstawie parametru 'typ' określasz jaki widok ma zostać załadowany - tak? W sumie rozwiązanie niezgorsze ![]() |
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Wg mnie takie rozwiązanie widoku, jakie jest w jednym z pierwszych postów jest najlepsze. Z tym 'ale', że to moim zdaniem powinien realizować odpowiedni obiekt przyjmujący obiekt klasy Pager. Sama klas Pager ma dobry interfejs i nic więcej w tym obiekcie nie powinno być.
Implementacje mogą już być różne ![]()
Pozdrawiam -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
phpion: tak, chodzi o różny rodzaj nawigatora. oczywiście każdy z nas ma jakis swój ideał i tylko go stosuje (np.ja
![]() np. http://svn.kohanaphp.com/trunk/system/libr.../Pagination.php http://svn.kohanaphp.com/trunk/system/views/pagination/ -------------------- |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
@Cysiaczek & @normanos
Fakt, klasa generująca odpowiedni widok na podstawie otrzmanego obiektu Pager jest najrozsądniejszym rozwiązaniem. Odbiegając nieco od tematu to chciałbym zauważyć, że w większości pozycji książkowych dotyczących PHP obiekty same się generują. Przykładowy obiekt Pager posiada metodę display() aby wygenerować samego siebie w formie HTML. Nie wiem jak Wy ale ja uważam, że takie podejście jest nieco nielogiczne. Moim zdaniem takie zadanie powinno spoczywać na klasie np. Generator_Pager, która otrzymywałaby obiekt do oprawienia. Mnie osobiście takiego typu przykłady rażą. |
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Chyba, że...
Tak też można ; ) -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 20.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Temat może nie na czasie ale zobaczyłem coś dziwnego:
Może coś pominąłem ale co wyswietli twoj pager jesli jest np: 100 newsow, po 5 na stronie, w sumie 20 podstron, i włączę 10 podstronę?? Czy przypdakiem nie wyswietli first, previous, wszystkie od 1 do 20, next, last? ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:28 |