Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Jak oddzielić PHP od kodu HTML?
qjam
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 1
Dołączył: 31.07.2011

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


Witam.

Dzisiaj postanowiłem pierwszy raz od paru lat przysiąść do php. Tak dla treningu, dla zabicia czasu, po prostu z nudów. Kiedyś pisałem jedynie strukturalnie... wychodziły potworki (przy pisaniu bloga) których teraz chciałbym uniknąć. Bardzo chętnie oddzieliłbym PHP od HTMLa (wiem, istnieje Smarty i MVC) jednak nigdy nie ruszyłem programowania obiektowego... stąd moje pytanie, w jaki sposób wy oddzielacie HTML od PHP? Macie jakieś rady? A może macie jakieś linki do nauki OOP? Programowałem hobbistycznie i chciałbym aby tak zostało dlatego nie są to mega ważne projekty... robię to po prostu dla siebie. Czekam na odpowiedzi, pozdro (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
PrinceOfPersia
post
Post #2





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

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


Cytat
Celowo nie napisałem tego tutaj bo się spieszyłem. Jednak chodzi mi o to czy jest jakiś sposób żeby oddzielić PHP od HTMLa lub zminimalizować jego udział.

to co możesz od ręki zrobić, to zamiast mieszać PHP z MySQL i HTML tak jak wrzuciłeś:
  1. <?php
  2. //kod php
  3. ?>
  4. <form method="post">
  5. ...logowanie...
  6. </form>
  7. <?
  8. if(isset($_POST['zaloguj'].....
  9.  
  10. tutaj jakis mysql...
  11. ?>
  12. </html>

możesz zrobić tak, że w pliku wszystkie obliczenia i dostęp do MySQL robisz na początku, a później dajesz tylko same zmienne:
  1. <?php
  2.  
  3. if(isset($_POST['zaloguj']) {
  4. // tutaj jakis mysql ,np. SELECT user_name FROM .... WHERE. ......
  5. // bla, bla
  6. $userName = $row['user_name'];
  7. }
  8.  
  9. if ($_GET['action'] == 'messages') {
  10. /// jakis mysql...
  11. // bla, bla, bla...
  12. $messages = $row['user_name'];
  13.  
  14. }
  15.  
  16. // a w dalszej części pliku odwołujesz się tylko do zmiennych:
  17. ?>
  18.  
  19. Witamy, dziękujemy za zalogowanie, użytkowniku <?php echo $userName ?>,
  20. <ul>
  21. Twoje wiadomości: <?php foreach($messages as $msg) echo "<li>$msg</li>" ?>
  22. </ul>
  23.  


Tylko, że to jest partyzantka i sposób dla osób naprawdę leniwych (ja tak robiłem jak poprawiałem po kimś kod, i po prostu nie mogłem użyć szablonów), natomiast takie podejście i tak jest ciut lepsze od mieszania kompletnie wszystkiego naraz. No i w przypadku kiedy będziesz chciał przejść na szablon, bardzo łatwo zamienisz po prostu deklaracje, czyli np. wywalisz <?php echo $messages ?>, a napiszesz {{ messages }},czy coś podobnego. Ponieważ kod PHP/MySQL oraz wynikowe zmienne do szablonu($userName, $messages etc.) masz już wstępnie oddzielone.

ale tak naprawdę użycie szablonu to nie jest problem, wystarczy ściągnąć coś, zainstalować, popatrzeć na przykłady w necie.


Cytat
Tak jak mówiłem wiem co to MVC ale nie znam OOP żeby to stosować, to raz.

nikt ci nie każe zaawansowanego OOP robić, zwykle masz tylko jakiś mikrojęzyk szablonów (typu "w klamerkach podajemy nazwę zmiennej: {{ zmienna }}"), musisz je zainicjalizować, podać dane przez funkcję i wyrenderować, cała filozofia.
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.03.2026 - 14:59