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 467
Pomógł: 6299
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
Crozin
post 14.06.2013, 14:02:36
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
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
Tak, albo przynajmniej udostępniają coś w rodzaju strict mode, które można sobie włączyć. Jeżeli jakiś projekt tego nie robi, w mojej ocenie nie jest warty straty czasu.
Cytat
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.
CopyConstructor/sklonowanie + jakaś metoda clear()? - nadal lepsza metoda, niż zmienne statyczne.
Cytat
[...] która nic prócz kobylastości i braku kompatybilności w nowszych wersjach, nie wnosiła.
Bez testów, bez jasno określonych zależności musimy uwierzyć Ci na słowo, że u Ciebie tak nie będzie. A ja już zauważyłem, że klasa View ma chyba zależność* do klasy Registry i stałej REG_MSG (patrz linia #89**).
Cytat
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
Tutaj szczerze powiedziawszy mam pewien problem, bo nie wiem czym do końca jest zaprezentowany kod. Na pewno nie jest to widok (jak rozumiem chodziło Ci o warstwę widoku w kontekście MVC i pochodnych?) bo widok to pojęcie znacznie szersze niż szablon (widok ? szablon). Nie jest to też typowy system szablonów. Biblioteka wspomagająca pisanie szablonów w PHP? Też nie do końca, bo wprowadza i wymusza już pewną architekturę do projektu, wprowadza elementy z szablonami niezwiązane. Nie wprowadza natomiast żadnych "helperów". Webowy framework? Też nie bo właściwie zajmuje się tylko szablonami. Sam napisałeś o tym "Będzie to taki mini pseudo MVC", ale mini pseudo MVC nie nadaje się do normalnego użycia*** - lepiej już skorzystać z pełnych frameworków.

* w dodatku, jak to zawsze określam, taka z dupy zależność, bo nijak nie da się jej podmienić. IoC FTW! wink.gif
** jakbyś udostępnił jakieś repozytorium to mógłbym podlinkować do konkretnego pliku, konkretnej linii z konkretnej rewizji - ktoś kto odwiedzi ten wątek za tydzień, gdy już to poprawisz mógłby przynajmniej spojrzeć co było nie tak.
*** pomijam tutaj Ciebie, bo pisałeś to na własny użytek, pod własne projekty - tam mogło to spisywać się rewelacyjnie.

Ten post edytował Crozin 14.06.2013, 14:03:21
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: 11.05.2024 - 16:16