Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [klasa]Klasa widoku
nospor
post 13.06.2013, 07:47:27
Post #1





Grupa: Moderatorzy
Postów: 36 459
Pomógł: 6297
Dołączył: 27.12.2004




Przedstawiam Wam dziś klasę widoku - jest to alternatywa dla systemów szablonów. Dzięki tej klasie możecie łatwo oddzielić logikę aplikacji od jest wyglądu.
Opis i przykłady użycia znajduje się tu:
http://nospor.pl/klasa-widoku.html

Download (klasa wraz z przykładową aplikacją):
http://nospor.pl/download/idfolder/31/


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post 14.06.2013, 07:38:46
Post #2





Grupa: Moderatorzy
Postów: 36 459
Pomógł: 6297
Dołączył: 27.12.2004




Cytat
Może jeszcze mi powiesz, że o narzędziach do budowania projektów Ant, Maven, Phing, wspomniany wcześniej Composer itp. itd. też nie słyszałeś? Chcesz wspierać PHP 5.2 i starsze... na prawdę pora na lekkie odmłodzenie swojego warsztatu.
No, nie jest ze mną aż tak źle, anta używam nagminnie smile.gif

Cytat
A co jak odziedziczę po kimś projekt, gdzie Twoja biblioteka będzie już w użytku? Tyle dobrze, że Twojego bloga da się wygoogleać po Twoim imieniu i nazwisku.
Tak, tak, jak już pisałem w poprzednim poście dodałem już otoczkę

Cytat
Apropos alternatyw - nie napisałeś w czym Twój kod jest lepszy od istniejących, które część z nas zna, posiadających sporą społeczność. Jaki jest killer feature tej biblioteki?
Nie napisałem, bo nikt mi nie napisał jakie są inne tego typu. Jeśli są tylko systemy szablonów, które mają swóją składnię, którą potem i tak kompilują do kodu HTML/PHP to moja klasa jest właśnie alternatywą dla takich systemów, które moim zdaniem nic nie wnoszą.
Jeśli zaś są inne, które operują na takim mechaniźmie jak moja, to chętnie poznam.

Cytat
Bardzo, bardzo, bardzo złe podejście. Najmniejszy błąd powinien skutkować wywaleniem całej strony i cofnięciem wszystkich zmian jakie mogły zajść w systemie (patrz: m.in. transakcje). Wyobraź sobie, że masz formularz i przez jakąś głupią zagubioną zmienną nie wyświetlił się przy nim odpowiedni komunikat. Użytkownik klika szczęśliwy, a po przeładowaniu strony wielkie zdziwienie bo na koncie brakuje 100 zł. Czemu? Bo programista uznał, że jak się nie wyświetli wielki komunikat z informacją, że dana akcja jest płatna to nic się nie stanie.
Chcesz mi powiedzieć, że inne systemy szablonów, jak nie ma zmiennych to plują wyjątkiem? Chyba za długo jeździłem na smartim wink.gif

Cytat
Zarówno XML jak i HTML - o porąbanym HTML5 nie wspominając - wspierają wartości w apostrofach: http://www.w3.org/TR/REC-xml/#NT-AttValue Sam też z tego staram się nie korzystać, ale można to robić, jest to jak najbardziej poprawne i wiele osób to robi. Pisałem już, że udostępniając coś publicznie, nie można wrzucić kodu pisanego stricte pod własne preferencje. Mówiąc wprost: Twój system szablonów polega na chwilę obecną przy najbardziej trywialnym zadaniu, jakim jest ochrona przed XSS.
No cóż, dla mnie nie polega, gdyż piszę poprawnie wink.gif No ale masz rację, muszę uwzględnić innych.

Cytat
Whoa, whoa... to przecież wystarczy utworzyć sobie obiekt raz i korzystać z tego samego tam gdzie potrzebujesz?
W 95% procent przypadków tak właśnie robię. Tworzę jeden widok i z niego korzystam. Zdarzają się jednak przypadki, gdy potrzebuję nowego widoku, który nie jest "zaśmiecony" zmiennymi, które poprzypisywano w międzyczasie. Wówczas tworzę nowy widok.


podsumowanie:
Na swoją obronę dodam, iż klasę pisałem pod siebie gdy pozbywałem się kobyły smartiego, która nic prócz kobylastości i braku kompatybilności w nowszych wersjach, nie wnosiła. Zaś moja klasa jest lekka a w widokach mogę robić co mi się zapragnie nie będąc ograniczonym przez durną składnie danego systemu szablonów.
Na FB ktoś mnie poprosił o publikację jej. Na szybkiego więc wydzieliłem klasę z mojego systemu i opublikowałem. Głównym zadaniem publikacji było pokazanie prostej i szybkiej alternatywy, by pokazać samą idee, że można pisać widok również bez niepotrzebnego zaprzęgania dzikich kobylastych klas. Każdy zaś potem może to dostosować pod siebie jeśli by miał ochotę.
Jak już pisałem klasa ta spełnia 100% moich potrzeb i nie muszę się martwić gdy wyjdzie jakaś nowa wersja, że jak się przesiądę to nie odpalę aplikacji.
Parę rzeczy uwzględnie co tu podałeś i podrzucę poprawkę, dziękuję za opinie. Z niektórymi się nadal nie zgadzam, ale dyskusja była bardzo ciekawa i produktywna. I wcale to nie znaczy że musi już być jej koniec smile.gif

ps: @Crozin dostałeś PW w którym proszę o parę dodatkowych rad w pewnej sprawie?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Posty w temacie
- nospor   [klasa]Klasa widoku   13.06.2013, 07:47:27
- - Spawnm   ViewPluginBase dał bym jako abstract. $tpl na...   13.06.2013, 08:33:52
- - pyro   Cześć. A ma coś lepszego / innego niż istniejące ...   13.06.2013, 08:35:21
- - nospor   CytatViewPluginBase dał bym jako abstract.A ma to ...   13.06.2013, 08:44:45
- - Dipter   1. Wszystkie właściwości klasy są statyczne, za wy...   13.06.2013, 14:37:18
- - Crozin   1. Brak wsparcia dla PSR-0 oraz Composera; Brak re...   13.06.2013, 15:09:42
- - nospor   @dipter ad1) Mi pasuje tak. ad2) Pewnie masz racj...   13.06.2013, 15:31:53
- - Dipter   Cytat@dipter ad1) Mi pasuje tak. ad2) Pewnie masz...   13.06.2013, 16:05:09
- - nospor   ad1) Wyjaśni mi wkońcu ktoś o jakich tu kłodach mo...   13.06.2013, 16:13:07
- - Crozin   CytatNie ma psr, nie ma composera. Brak publiczneg...   13.06.2013, 16:57:02
- - Spawnm   Cytatjak php5.3 będzie standardem, to zacznę tego ...   13.06.2013, 16:58:34
- - nospor   CytatTobie chyba nie muszę tłumaczyć wyższości wsz...   13.06.2013, 17:47:31
- - Crozin   CytatO ile w takim linuxie to jest zajebista spraw...   13.06.2013, 20:44:30
- - nospor   CytatMoże jeszcze mi powiesz, że o narzędziach do ...   14.06.2013, 07:38:46
- - Crozin   CytatChcesz mi powiedzieć, że inne systemy szablon...   14.06.2013, 14:02:36
- - nospor   CytatTak, albo przynajmniej udostępniają coś w rod...   14.06.2013, 17:12:09
- - Crozin   CytatMoim głównym celem było pokazanie, głównie dl...   14.06.2013, 19:27:12
- - nospor   CytatIMO jeżeli chciałeś zademonstrować przykład u...   17.06.2013, 11:42:06
- - uki8877   OK, bardzo mi sie spodobala ta klasa i chcialbym ...   28.05.2016, 14:52:50
- - viking   Poczytaj troszkę podstaw m.in. jak stosować namesp...   28.05.2016, 15:23:33
- - nospor   CytatCall to undefined method Db::prepare()Przecie...   29.05.2016, 22:07:28


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.05.2024 - 15:25