Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [klasa]Klasa widoku
nospor
post
Post #1





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
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/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Tobie chyba nie muszę tłumaczyć wyższości wszelkiego oprogramowania do zarządzania zależnościami od ręcznego dodawania bibliotek?
O ile w takim linuxie to jest zajebista sprawa, to póki co żeby bawić się czymś takim w php to pierwszy raz słyszę. Człowiek starej daty jestem (IMG:style_emoticons/default/wink.gif)

Cytat
Chodziło mi wszelkiego rodzaju informacje dot. licencji, zgłaszania błędów, wspomnianego wcześniej Composera/VCS-a czy chociażby autora (brak maila/innej formy kontaktu). Wiem, że to nie jest "poważny, open sourceowy projekt", a prosta klasa do obsługi prostych zadań; wiem, że to dział gotowe rozwiązania, a nie oceny, ale jeżeli już udostępniasz coś publicznie rób to porządnie. Szczególnie, że wiem, że nie jesteś początkujący.
No jak ktoś to ściąga ode mnie ze strony to chyba wie, gdzie ma zgłaszać błędy (IMG:style_emoticons/default/wink.gif)

Cytat
Najprostszy przykład: nie utworzysz równolegle dwóch obiektów szablonu z różną konfiguracją, czego mógłbyś potrzebować na przykład przy wysyłce maili (szablony w osobnym katalogu).
Dziękuję, wkońcu mi wyjaśniono te kłody (IMG:style_emoticons/default/smile.gif)
Faktycznie, masz rację, nie sądziłem, że ktoś może potrzebować oddzielnych katalogów kiedykolwiek. Przez tyle lat jak programuje, nie widziałem takiego cuda, a wysyłkę maili realizowałem nie raz, stąd też i do głowy mi nie wpadło coś takiego. Naprawdę w praktyce takie rzeczy się dzieją? Na upartego można zmienić wartosci tych zmiennych a po odpaleniu widoku powrócić do starych

Cytat
Nie używać czystego PHP, tylko jakiegoś narzędzia ze wsparciem dla czegoś w rodzaju ExpressionLanguage znanego chociażby z JSF czy PHP-owego Twiga.
Jak już pisałem ja jestem człowiek starej daty i takich super hiper wypasionych pro bzdur nie używam. Naprawdę nie lubię ani sobie ani innym komplikować życia. (IMG:style_emoticons/default/wink.gif)

Cytat
1. Potrzebowałeś backtrace'a, który jest udostępniany przez wyjątki. Zamiast tego zrobiłeś własny, który w dodatku pokazuje jedynie jeden element całego backtracea.
Ba, bo tylko jeden jest potrzebny.

Cytat
"Poprawne" obsługiwanie nieistniejących rzeczy jakie zaprezentowałeś i jakie znamy chociażby z PHP w połączeniu z ignorowaniem błędów to przyczyna z 15-20% nudnych tematów w dziale przedszkole, i dziesiątek godzin spędzonych na poszukiwaniu literówek i wtf'ków z niewiadomej przyczyny.
No wybacz, ale jak ktoś nie umie odbierać błedów to jego problem. Skoro nie opanował tej techniki w czystym php to nie zamierzam go edukować w widokach.

Czemu uważam, że tutaj wyjątek jest nie potrzebny? Nie wyobrażam sobie sytuacji, że moja strona ma nagle przestać się normalnie wyświetlać tylko dlatego że z jakiegoś powodu zniknęła jakaś zmienna czy zninkął plugin z wyświetlaniem gdzieś na boku strony paru ostatnich komentarzy....

Cytat
To nie jest specjalna potrzeba.
Jak pisałem naprawdę tego nie potrzebowałem. A nie potrzebowałem z bardzo prostej przyczyny: staram się pisać poprawny kod html. Używanie apostrofów do łapania atrybutów tagów jest nie poprawnym sposobem. Do tego używa się cudzysłowi. Wystarczy trzymać się tej prostej zasady i życie staje sie prostrze (IMG:style_emoticons/default/smile.gif)

Cytat
PHP 5.3 ma już prawie 4 lata i jest powszechnie dostępne. Na prawdę powinieneś już zrezygnować ze starszych wersji w przypadku nowych projektów...
Może swoje lata i ma, ale ciągle napotykam na serwery, gdzie php5.3 to jeszcze odległa przyszłość.

Cytat
Tutaj właśnie poprzez Twoje nie trzymanie się konwencji, które po wielkich bólach w końcu pojawiają się w świecie PHP, rzucasz kłody pod nogi. Szczególnie, że trzymanie się konwencji na prawdę nie tworzy dodatkowego nakładu pracy z Twojej strony.
Nie, niestworzy mi to dodatkowego nakładu pracy. Stworzy natowmiast dodatkowy nakład pracy gdy natrafi na serwer bez php5.3

Cytat
A to jeszcze nie jest? o.O
Widać nie (IMG:style_emoticons/default/smile.gif)

edit:
Jeszcze powrócę do zmiennych statycznych. Napisałeś Crozin, że jak ktoś chce nowy obiekt z innymi lokalizacjami to ma problem.
Ja zaś skolei dałem zmiennej statyczne właśnie spowodu odwrotnej sytuacji: gdy ktoś chce nowy obiekt z dokładnie takimi samymi lokalizacjami co główny widok. Gdyby to były zmienne obiektu, musiałby je na nowo ustawiać na takie same jak ma obiekt główny. ALbo pisać klasę dziedziczącą i nadpisywać metode CreateInstance. A tak nie musi nic takiego robić. A sytuacja, gdy ktoś potrzebuje nowego obiektu ale z tymi samymi parametrami wydaje mi się częstrza niż Twoja.

edit2:
@Crozin z tą otoczką to oczywiście masz rację. Juz wrzuciłem poprawioną paczkę. Pisałem wcześniej szybko i zupełnie o tym zapomniałem
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 06:58