Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> System szablonów, Co wybrać
gucio1
post
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Witam,
chciałbym podejść do tworzenia trzeciego mini systemu na zlecenie dla znajomych.
Stworzyłem już podobne 2 na których dużo się nauczyłem i dużo korzystałem z pomocy tego forum.
Wszystko funkcjonuje a teraz chciałbym małymi krokami zmierzać w bardziej profesjonalną stronę.

Może nie jest to ogromny krok do przodu ale też bardzo nigdzie mi się nie śpieszy, poprzednio mieszałem często php z htmlem a teraz chciałbym tego nie robić.
Moim znajomym to oczywiście nie przeszkadza ważne że użytkownicy się logują prowizje się naliczają sklepy działają itd.

I moje pytanie, jeśli nie chce mieszać phpa z htmlem rozumiem że najprościej będzie używać jakiegoś systemu szablonów.
Co polecacie na początek, może jakiś dobry sprawdzony link do dobrego tekstu albo kursu? Albo jakieś info co najpierw wygogolować co testować i czego się uczyć.

Pozdrawiam.
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Zależy od podejścia. Możesz albo od razu całe MVC wdrożyć (wiadomo, powoli na początek) albo sam system szablonów. W zależności od drogi najlepsza będzie dokumentacja.
https://twig.sensiolabs.org/
http://phptal.org/


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Najprostszy i najszybszy - PHP
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Szablony są równie szybkie - pierwsze przetworzenie zajmuje dłużej. Później system pracuje na gołym PHP (skompilowany szablon). Mnie osobiście skręca jak muszę grzebać w czystym (PHP) szablonie - gigantyczne możliwości popełnienia błędu.

Ewentualnie możesz zobaczyć np Zend Expressive. Microframework który nauczyłby cię dobrych wzorców a instalator ma kilka systemów do wyboru.


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Tak, pracuje na gołym ale wywołuje pierdyliard metod smile.gif Kto co woli. Ja lubię Twig, ale i w PHP Template też dobrze się pisze
Go to the top of the page
+Quote Post
gucio1
post
Post #6





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Jeśli pracujesz na czystym php to jak załatwiasz sprawę nie mieszania?
Może to głupie pytanie ale dajcie mi chwile to się wdrożę w temat smile.gif

Dzięki za linki viking dokumentacja na pewno się przyda na pewno zerknę ale mój angielski jest taki lekko ponad podstawę to też za dużo stamtąd nie wyciągnę.
Jeśli mielibyście jakieś linki w pl to byłbym wdzięczny.

Ten post edytował gucio1 25.04.2017, 12:27:09
Go to the top of the page
+Quote Post
Pyton_000
post
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


a czym się różni:
  1. {foreach a in data}
  2. {a.name}
  3. {endofreach}


od
  1. <? foreach($data as $a): ?>
  2. <?= $a->name ?>
  3. <? endforeach; ?>


Generalnie niczym.
W systemie szablonów nie chodzi o mieszanie PHP z HTML tylko o nie mieszanie Logiki z szablonem.
Go to the top of the page
+Quote Post
gucio1
post
Post #8





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Czyli chodzi tylko o to żeby zamiast wyświetlać coś standardowo phpem wstawiać szablon czyli np.
zamiast: <?php echo $zmienna;?>
wstawic: <?=$zmienna?> questionmark.gif

To po co w ogóle to stosować? Jest to bardziej czytelne? Dla mnie to jeden...

Go to the top of the page
+Quote Post
viking
post
Post #9





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Różni się jak np czegoś nie zamkniesz w szablonie i poleci wyjątek (kontra dowolna sieczka) czy możliwość minifikacji wyjścia albo zmiany zamknięć elementów.


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #10





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




Nie. chodzi o to by oddzielic logike od wygladu.

Najpierw ma byc logika aplikacji, potem ma byc wyswietlanie aplikacji
Logika aplikacji to np. pobranie danych z bazy albo zapisanie danych do bazy, albo cala masa roznych wyliczen.

Wyswietlanie aplikacji to np. wyswietlenie pobranych wczesniej danych

No i szablony leza w innych plikach/katalogach niz skrypty odpowiedzialne za logike


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

"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
Pyton_000
post
Post #11





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Cytat(viking @ 25.04.2017, 13:48:12 ) *
Różni się jak np czegoś nie zamkniesz w szablonie i poleci wyjątek (kontra dowolna sieczka) czy możliwość minifikacji wyjścia albo zmiany zamknięć elementów.

A jak w php nie domkniesz to nie poleci error? Z dupy argument...
Go to the top of the page
+Quote Post
gucio1
post
Post #12





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Ok, czyli np. w odrębnym pliku pobieram dane z bazy danych przeliczam je w zależności od potrzeb i powiedzmy zapisuje je w zmiennych sesyjnych. A w drugim pliku który wyświetlam użytkownikowi, wyświetlam te zmienne za pomocą szablonu?
Go to the top of the page
+Quote Post
nospor
post
Post #13





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




A po co zapisywac do zmiennych sesyjnych? Dane z bazy masz przekazac do szablonu. Sesja tu nie potrzebna

Prosze, tu
http://nospor.pl/klasa-widoku.html
opisalem przykladawa klase widoku/szablonu ktora korzysta z php jako szablon. Przejrzyj, moze zrozumiesz o czym mowa smile.gif


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

"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
gucio1
post
Post #14





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Właśnie szukałem odpowiedzi na pytanie jak przekazać dane do szablonu już zerkam. smile.gif
Go to the top of the page
+Quote Post
viking
post
Post #15





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Cytat(Pyton_000 @ 25.04.2017, 13:53:17 ) *
A jak w php nie domkniesz to nie poleci error? Z dupy argument...


Jak nie zamkniesz tagu html...


--------------------
Go to the top of the page
+Quote Post
gucio1
post
Post #16





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Ok, wydaje mi się że już wiem jak przekazać zmienne do szablonu. W takim razie dzięki za wskazówki będę próbował z tym walczyć smile.gif.
Pozdrawiam.

W pliku test.php mam:

  1. <?php
  2.  
  3. $view->zmienna = 'tekst1';
  4.  
  5. ?>


a w drugim test2.php

  1. <?php
  2.  
  3. require_once('test.php');
  4.  
  5. echo $view->zmienna;
  6.  
  7. ?>


Wyświetlam tą zmienną ale co oznacza:
Warning: Creating default object from empty value in..
questionmark.gif
Go to the top of the page
+Quote Post
nospor
post
Post #17





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




To jest caly kod jaki masz? Obiekt $view gdzies tworzysz w ogole?


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

"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
viking
post
Post #18





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


$view ma być instancją jakiegoś obiektu. Zobacz sobie np klasę https://github.com/zendframework/zend-view/...l/ViewModel.php


--------------------
Go to the top of the page
+Quote Post
gucio1
post
Post #19





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Aa czaje dobra, czyli po prostu obliczenia itp wykonuje w odrębnych plikach i ładuję plik z klasą potem w widoku odwołuję się do obiektów które wyświetlam przez $this->?

Czyli to wystarczy żeby nikt nie zarzucił mi mieszania logiki z wyglądem?

Go to the top of the page
+Quote Post
viking
post
Post #20





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Spróbuj skorzystać z gotowego frameworka lub microframworka. Zobaczysz jak się powinno pisać i w jaki sposób tworzy się takie rzeczy. Przykładowe aplikacje:
https://github.com/zf3buch/zendframework-ce...e/chapter_18_01
https://github.com/RalfEggert/zend-expressi...rial/tree/part6


--------------------
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Aktualny czas: 19.08.2025 - 10:18