-
Jak załączać statyczne elementy html? Powiedzmy, że mam stały top nav, a zmienia sie content i teraz pytanie co z tym navem zrobic, czy zrobic oddzielny plik, a potem go includowac, czy zrobić funckcje w której będzie kod html. Czy jeszcze inaczej?
-
Jak strona pobiera content z bazy danych to połączenie z bazą definiować tylko raz na górze strony, czy za każdym razem gdy coś z niej pobieram?
Jak to działa? Definiuje połączenie z bazą i jestem cały czas z nią połączony, czy ona sama sie otwiera i zamyka kiedy z niej cos wyciągam? (Mysqli)
Odpowiadając :
-
Funkcja include. Nie rób tego w PHP, tylko trzymaj w osobnych plikach (np. Osobno główkę, osobno stopkę).
-
Jeśli nie ma powodów, żeby tak nie robić, to na samym początku otwierasz bazę, a potem trzymasz połączenie przez czas działania skryptu. Jest to wygodniejsze i mniej obciążające. Poza tym, jeśli z jakiegoś powodu się nie uda połączyć z bazą, od razu możesz wyświetlić informację o błędzie i zakończyć pracę skryptu.
-
Poczytaj o
template engines
, jak np. Twig. -
Skoro zadajesz takie pytania, może warto byłoby już przesiąść się na jakiś framework? Może Laravel lub Symfony?
To głownie zależy od tego, jaką masz strukturę katalogów. Idea jest taka, że "główne" pliki dajesz w katalogu z dostępem publicznym, a wczyujesz sobie poprzez include treści z jakiegoś podkatalogu, do którego dostęp blokujesz przez .htaccess. W ten sposób serwer WWW ma dostęp do wszystkiego, więc może odpowiednie pliki wstawiać tam, gdzie trzeba, ale jednocześnie nikt z poziomu przeglądarki się nie dostanie do tych rzeczy - będzie miał odmowę dostępu.
No tak, zapomniałem o htaccess :D Dzięki ;)
Najlepszym systemem szablonów jest czyste PHP. Wynalazki typu Twig, etc. zasadniczo po prostu dublują funkcjonalność PHP nie wnosząc nic nowego/pożytecznego, i zasmiecając jedynie mózg dodatkowymi dyrektywami które dublują np. PHPowe foreach, echo etc.
Niewiele jest sytuacji kiedy używanie systemu szablonów ma sens - głównie, kiedy chesz dać komuś przez FTP dostep do frontendu, ale nie chcesz aby mógł egzekwować kod PHP.
W większości przypadków naprawdę nie potrzebujesz żadnego Twiga, i na początek naucz się czystego PHP jako solidnej podstawy, a potem ewentualnie różne nakładki na to w postaci frameworków czy systemów szablonów. Jeżeli tego nie zrobisz, to być może nauczysz się frameworka, ale nie będziesz wiedział na jakiej zasadzie do końca działa, a rozwiązanie nietrywialnych problemów do których nie ma przykładów do skopiowania, zajmie Ci dużo czasu.