Metody załączania elementów statycznych html / definiowanie połączenia z bazą

0
  1. 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?

  2. 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)

2

Odpowiadając :

  1. Funkcja include. Nie rób tego w PHP, tylko trzymaj w osobnych plikach (np. Osobno główkę, osobno stopkę).

  2. 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.

1
  1. Poczytaj o template engines, jak np. Twig.

  2. Skoro zadajesz takie pytania, może warto byłoby już przesiąść się na jakiś framework? Może Laravel lub Symfony?

0

@cerrato: A jak ktoś sobie wejdzie po ścieżce do poszczególnych modułów? Jak zablokować bezpośredni dostęp? Ja teraz blokowałem dostęp poprzez sesje, ale może jakiś lepszy sposób jest?

@Patryk27 Dzięki, poczytam :)

1

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.

0

No tak, zapomniałem o htaccess :D Dzięki ;)

2

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1