[klasa] Własna klasa do obsługi prostych szablonów |
[klasa] Własna klasa do obsługi prostych szablonów |
13.03.2012, 00:53:54
Post
#1
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 9 Dołączył: 2.02.2011 Skąd: undefined Ostrzeżenie: (0%) |
Witam ponownie.
Tym razem chciałem przedstawić tak dość szybko stworzoną klasę do obsługi prostych szablonów. Wiem że istnieje wiele podobnych klas chociażby Smarty, ale do projektu nie potrzebowałem wkładać coś tak dużego. Stąd pomysł na własną klasę. Template.class.php Sposób użycia na pliku "./newka/test.phar" z zawartością: Kod {{imie}} jak się miewasz?? to co lubisz to: {lista} {{lista_element}} sztuk {{lista_ilosc}} {/lista} php:
Wynik: Kod Kevin jak się miewasz?? to co lubisz to: deska sztuk 10 krzesło sztuk 2 stół sztuk 1 igła sztuk 23 Ogólnie rzecz ujmując klasa podmienia tylko to co chcemy by podmieniła. Zmienne podajemy w postaci Kod {{nazwa_zmiennej}} a pętle: Kod {petla} zawartosc petli {{prefix_nazwa_zmiennej}} tak samo jak w tablicy przekazywanej jako argument {/petla} Gdyby jakieś pytania, postaram się odpowiedzieć na bieżąco:) Ten post edytował shinuexx 13.03.2012, 00:54:36 |
|
|
13.03.2012, 14:18:42
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) |
1. Co to jest w konstruktorze "styledir" ? Rozumiem podajemy tam ścieżkę do .css ?
2.
A nie prościej raz zapisać tą nazwę do zmiennej i podawać zmienną zamiast ciągle łączyć ? 3. show() nie powinno printować a zwracać moim zdaniem, choćby dlatego że ktoś by chciał połączyć to z cache (btw. Ty powinieneś to zrobić) Ogólnie nic specjalnego, nie można nawet includować plików z tego co widziałem. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
13.03.2012, 14:33:38
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) |
Cytat 1. Co to jest w konstruktorze "styledir" ? Rozumiem podajemy tam ścieżkę do .css ? Stylu, inaczej szablonu, thema czy coś w ten deseń. Przynajmniej ja tak to zrozumiałem Cytat Ogólnie nic specjalnego, nie można nawet includować plików z tego co widziałem. Nie wiele można na dobrą sprawę, a kod jest średnio napisany (trochę spaghetti). - brak warunków. - brak jakichś funkcji formatujących tekst, - nie sprawdzałem, ale mogę tam wstawić więcej niż 1 pętle? - w jaki sposób mogę wyświetlić dane z tablicy wielowymiarowej? - tablica wielowymiarowa, gdzie klucze są dynamiczne, np z pętli, jak to zapisać? To są raczej takie proste rzeczy, z bardziej złożonych jak chociażby wyświetlanie danych z obiektu, bo nie tylko tablicę przecież mogę przekazać do szablonu. Brak możliwości rozbudowy, nie ma możliwości dorzucenia w łatwy sposób czegoś do opcji, co by wzbogaciło funkcjonalność klasy. Osobiście wolę pozostać przy czystym php, ewentualnie swojej klasie szablonu. Która linijek wiele więcej nie ma, a ma znacznie większe możliwości. |
|
|
14.03.2012, 20:31:55
Post
#4
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 9 Dołączył: 2.02.2011 Skąd: undefined Ostrzeżenie: (0%) |
Ajć. Dostało mi się.
Tutaj w wielu kwestiach macie rację. Poprostu akurat dla mnie to było wystarczające i stwierdziłem, że jak już coś napisałem to się podzielę. Gdy będzie chwila luźniejsza wprowadzę trochę poprawek do kodu i udostępnię poprawkę. |
|
|
14.03.2012, 23:09:19
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) |
W jednym z tematów przedstawiałem swoje podejście do szablonów, które jest nieco inne niż te które przeważnie widuje (masa klas, zupełnie nowa składnia do nauki, ograniczone możliwości itp): http://forum.php.pl/index.php?s=&showt...st&p=921998 nie to że miałby to być jakiś wyznacznik, bo też to nie jest idealne, ale jako tako chyba w miarę rozsądnie to sobie przemyślałem, bo póki co na ograniczenia które by mnie skłoniły do rozbudowy klasy nie napotkałem
Ten post edytował by_ikar 14.03.2012, 23:10:29 |
|
|
Wersja Lo-Fi | Aktualny czas: 26.09.2024 - 13:02 |