Pliki html czy php? Strona zbudowana w html+css.

Pliki html czy php? Strona zbudowana w html+css.
KA
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 2 lata
  • Postów:7
0

Cześć Panie i Panowie, mam pytanie odnośnie 1ego mojego projektu/strony.
Robię stronę internetową, html + css. Strona główna typu onePage, do tego ok 15 podstron. Zastanawiam się, czy zostawić wszystko w plikach html, tak po prostu, jak jest zrobiona, czy przerobić stronę na pliki php, żeby móc skorzystać z include i poszczególne elementy, jak sekcje/menu powyciągać do osobnych plików php i je zaciągać do strony/podstron: Zastanawiam się nad:

  1. Zostawiam w html - wszelkie zmiany w powtarzających się elementach trzeba ogarniać na każdej podstronie.
  2. Dziele wszystko, co się da na mniejsze elementy do plików php i zaciągam je za pomocą include lub require do danej strony/podstrony. Nie wiem, jakie są wady tego rozwiązania względem 1ego, ale z pewnością zaletą jest wprowadzanie zmian danego elementu tylko w 1ym miejscu.
  3. Połączyć oba sposoby ( jeśli tak się da i ma to sens?). Widzę to tak, że mam np główną stronę (w php czy html?) i tylko niektóre elementy, np. powtarzające się, zaciągam za pomocą include/require. Np menu, stopkę.
    Jak najlepiej to zrobić. Jakie są wady i zalety poszczególnych rozwiązań?
    Nie znam php, zastanawiam się tylko nad użyciem include do mojego pomysłu.
    Będę wdzięczny za pomoc.
edytowany 1x, ostatnio: kartonpierwszy
66
  • Rejestracja:ponad 3 lata
  • Ostatnio:ponad 2 lata
  • Postów:53
0

Możesz przyjąć taki podział:

  • index.php, w którym decydujesz na podstawie adresu, która strona ma być ładowana np. home.php lub blog.php
  • page/home.php, który składa się z powtarzalnych części strony np. template/header.php, template/footer.php
  • page/blog.php, j/w + na podstawie adresu umieszczasz zmienną treść np. z bazy danych, pliku
masterc
  • Rejestracja:około 4 lata
  • Ostatnio:około 3 lata
  • Postów:425
0

Zostan przy sposobie 1. uzyj css i js do zalaczania plikow no menu, nie musisz wtedy zmieniac kazdego pliku html


Wymyśliłem, że nie chce mi się.
KA
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 2 lata
  • Postów:7
0

A czy wadą tego rozwiązania, ładowania menu za pomocą js nie jest to, że jak ktoś ma wyłączoną obsługę js to wtedy lipa, nie będzie menu?
ps. choć użytkownicy tej strony raczej nie grzebią w takich ustawieniach :)

edytowany 1x, ostatnio: kartonpierwszy
serek
  • Rejestracja:około 11 lat
  • Ostatnio:28 minut
  • Postów:1470
0

@kartonpierwszy: Mało kto ma wyłączony JS, tym bym się nie przejmował. A jak ma, to walisz stosowany komunikat, że potrzebna jest włączona obsługa JS.

edytowany 1x, ostatnio: serek
masterc
  • Rejestracja:około 4 lata
  • Ostatnio:około 3 lata
  • Postów:425
0

wwzsyteki szanuajce sie strony powinny miec komuniakt ze masz miec wlaczone JS a jak jestes na IE albo EDGE to ze tych przegaldarek nie obslugujemy, i z dopiskiem PRECZ LAMUSY! :)


Wymyśliłem, że nie chce mi się.
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:3 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10050
0

Jeśli masz statyczną stronę, tylko HTML i CSS, i chcesz zwiększyć jej jakoś poprzez jej modularyzację, to ja raczej poszedłbym we frontowe technologie.

Widać, że Twoja strona nie potrzebuje backendu, więc nie potrzebnie byłoby go dodawać. Moim zdaniem mógłbyś stworzyć swój front albo w Vanilla JS, albo w Vue, albo w React albo Angular. To jest oczywiście trochę wyższa szkoła jazdy niż sam HTML i CSS, ale to byłby krok w dobrą stronę. Na pewno lepszą niż modularyzacja widoku w PHP.

edytowany 1x, ostatnio: Riddle
KA
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 2 lata
  • Postów:7
0

Frameworki/biblioteki js-owe i inne odpadają. Wymaganiem klienta było bez takich dodatków, lub jak najmniej. Stąd html+css. Żadnego backendu nie potrzebuje, to statyczna strona. Poprzez include chciałem tylko ułatwić późniejszą edycję.

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:3 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10050
0
kartonpierwszy napisał(a):

Frameworki/biblioteki js-owe i inne odpadają. Wymaganiem klienta było bez takich dodatków, lub jak najmniej. Stąd html+css.

Ale to jest jakieś sensowne wymaganie? Może klient po prostu nie wie o czym mówi, i nie wie czego chce. Być może jest spora szansa że nawet by się nie zorientował w jakiej technologii napisałeś stronę?

Żadnego backendu nie potrzebuje, to statyczna strona. Poprzez include chciałem tylko ułatwić późniejszą edycję.

No, ale jeśli chcesz dodać PHP do swojego projektu, to to co zrobiłeś to własnie dodałeś backend :D

Przeglądarki nie wspierają include'ów HTML'a (no chyba że na <iframe/>ach), więc jedyne co Ci pozostaje to albo modularyzacja na froncie, albo na backendzie. Przy czym backendu za bardzo nie potrzebujesz, więc moim zdaniem szkoda go dodawać niepotrzebnie. Nie mógłbyś takiej strony hostować np na Github Pages wtedy.

edytowany 1x, ostatnio: Riddle
KA
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 2 lata
  • Postów:7
0

Klient wie co mówi raczej, ma firmę hostingową od lat. Także przy tym zostajemy. Dla mnie także super projekt, bo przetyrałem się przez html+css :). Same kursy to jednak tylko wprowadzenie. Prawdziwy projekt super weryfikuje wiedzę i uczy.

Co do tego php i backendu, fakt, ale to jakby minimalna ingerencja. Jakie są minusy tego, że wrzucę to w php względem zostawienia tego w html? Odpada hostowanie np na ghpages, co jeszcze? To nie problem na tą chwilę.

edytowany 1x, ostatnio: kartonpierwszy
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:3 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10050
0
kartonpierwszy napisał(a):

Klient wie co mówi raczej, ma firmę hostingową od lat. Także przy tym zostajemy. Dla mnie także super projekt, bo przetyrałem się przez html+css :). Same kursy to jednak tylko wprowadzenie. Prawdziwy projekt super weryfikuje wiedzę i uczy.

Ja bym powiedział że "prawdziwy projekt super weryfikuje czy hacki działają czy nie i uczy workaroundów które nie są książkowe".

Ale co ja tam wiem.

edytowany 1x, ostatnio: Riddle
KA
To chyba to samo, tyle że w późniejszym etapie rozwoju :).
masterc
  • Rejestracja:około 4 lata
  • Ostatnio:około 3 lata
  • Postów:425
0

No to zrob mu na php zebys mial latwe dolaczanie stron i tyle. Albo moze w ogole po wejsciu na strone niech sie sciga plik Word czy Excel i ludzie se beda sami czytali. "klient wie co mowi" - to tylko tobie sie tak wydaje


Wymyśliłem, że nie chce mi się.
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:3 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10050
0
kartonpierwszy napisał(a):

Same kursy to jednak tylko wprowadzenie. Prawdziwy projekt super weryfikuje wiedzę i uczy.

Jeśli poznajesz jakiś kolejny region wiedzy z dobrego źródła, kursy, książki, wiedza innych użytkowników, i wydaje Ci się że nie mają zastosowania w prawdziwym życiu, to na 99% ich nie zrozumiałeś, albo próbowałeś je niepoprawnie zaaplikować. Te rzeczy dlatego są w książkach i kursach dlatego że działają i zostały sprawdzone w boju, nie są tam "po to żeby były".

KA
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 2 lata
  • Postów:7
0

Zgadzam się, z pewnością nie zrozumiałem = myślałem że rozumiem. I właśnie robienie takiego projektu, który ma działać, pozwala to zweryfikować, wiedzę wyniesioną z nauki ... z różnych źródeł.
Ok, dzięki za pomoc, z Worda i Excela zrezygnuje :).
Pozdrawiam.

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:3 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10050
2
kartonpierwszy napisał(a):

Cześć Panie i Panowie, mam pytanie odnośnie 1ego mojego projektu/strony.

Robię stronę internetową, html + css. Strona główna typu onePage, do tego ok 15 podstron. Zastanawiam się, czy zostawić wszystko w plikach html, tak po prostu, jak jest zrobiona, czy przerobić stronę na pliki php, żeby móc skorzystać z include i poszczególne elementy, jak sekcje/menu powyciągać do osobnych plików php i je zaciągać do strony/podstron: Zastanawiam się nad:

  1. Zostawiam w html - wszelkie zmiany w powtarzających się elementach trzeba ogarniać na każdej podstronie.
  2. Dziele wszystko, co się da na mniejsze elementy do plików php i zaciągam je za pomocą include lub require do danej strony/podstrony. Nie wiem, jakie są wady tego rozwiązania względem 1ego, ale z pewnością zaletą jest wprowadzanie zmian danego elementu tylko w 1ym miejscu.
  3. Połączyć oba sposoby ( jeśli tak się da i ma to sens?). Widzę to tak, że mam np główną stronę (w php czy html?) i tylko niektóre elementy, np. powtarzające się, zaciągam za pomocą include/require. Np menu, stopkę.
    Jak najlepiej to zrobić. Jakie są wady i zalety poszczególnych rozwiązań?
    Nie znam php, zastanawiam się tylko nad użyciem include do mojego pomysłu.
    Będę wdzięczny za pomoc.

Okej, powiem Ci dokładnie czemu uważam Twój pomysł za średni.

Teraz, kiedy Twoja strona jest tylko w HTML i CSS, to praktycznie jest "gotowa". Możesz komuś dać takie statyczne pliki, i on może je wrzucić gdziekolwiek, i to jest dokładnie to co zobaczy odwiedzający Twoją stronę. Moim zdaniem to co teraz masz, jest bardzo dobre.

Ty jednak chcesz wprowadzić jakąś modularność do swojego rozwiązania, spodziewam się że po to żeby nie mieć duplikacji w różnych podstronach. Masz dwa "standardowe" wyjścia:

  • Wyjście frontowe, tzn dodać jakiś JS'a (Vanilla, Vue, React, Angular, od biedy jQuery), i zbudować w przeglądarce wynikowy kod. Moim zdaniem to byłoby dobre, bo mając coś takiego, nadal masz same static files'y które możesz wrzucić gdziekolwiek. Miejsce na którym będą stać (CDN, Gituhub Pages, dowolny server) nie musi o nich nic wiedzieć, wystarczy że je zaserwuje. Nie musisz nawet mieć środowiska uruchomieniowego tam gdzie będą stać, wystarczy sam Apache lub Nginx.
  • Wyjście backendowe. Ty na to mówisz "dodanie include()'ów i require()'ów", ale tak na prawdę to co chcesz zrobić, to nie mieć już statycznych plików HTML/CSS, tylko aplikację internetową która je generuje w locie. I to ma taką wadę, żę:
    • Po pierwsze, przywiązanie do jednego języka programowania, nie ważne czy użyjesz PHP, Python, Ruby czy dowolny inny, jeśli zaczniesz pisać w nim, to jesteś do niego przywiązany.
    • Po drugie, nakładasz wymagania na server który będzie je serwował, ponieważ on już nie tylko musi mieć server (jak Apache/Nginx) ale musi mieć też środowisko uruchomieniowe w postaci PHP lub Pythona lub co tam sobie wybierzesz, dodatkowo w odpowiedniej wersji. Dużo dodajesz nowych wymagań, a zysk dosyć mały.

Wiec, jeśli już koniecznie chcesz to zrobić w PHP i dodawać include() i require(), to być może mógłbyś to potraktować jako "generator stron", zamiast stronę?

Tzn, dodałbyś u siebie swoje include'y, i użyłbyś swojego lokalnego PHP'a żeby wygenerować wynikową stronę, i tą wynikową stronę klient by sobie wrzucił na swój server?

Jeśli poszedłbyś w taką stronę, to masz dwa wyjścia:

  • Albo korzystać z PHPowych include()ów i require()ów, czyli po prostu pozamieniać swoje pliki .html na .php, co jest moim zdaniem w miarę prostę, ale gorsze.
  • Napisać swój generator. Robota na pół dnia, ale za to odseparujesz się od języka programowania, i będziesz mógł sam kontrolować to które kawałki są wsadzane gdzie.
edytowany 1x, ostatnio: Riddle
masterc
ale on nie zna php
KA
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 2 lata
  • Postów:7
0

Ok, to już nabiera kolorów w mojej głowie.

mr_jaro
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
2

@TomRiddle jest jeszcze trzeci sposób, budowanie htmla webpackiem. Frontedowiec z którym obecnie współpracuje tak robi, że ma podzielony html na części i buduje przez komendę statyczne pliki html.


It's All About the Game.
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:3 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10050
1
kartonpierwszy napisał(a):

Ok, to już nabiera kolorów w mojej głowie.

Mogłoby to wyglądać tak:

  • Sposób z generatorem, robisz pliki
    index.html z treścią
    Kopiuj
    <!DOCTYPE html>
    <html>
      <!-- include footer.html -->
    </html>
    
    Drugi plik footer.html z dowolną treścią, i piszesz program, może w PHP, może w Python, w czym chcesz, który Ci "wsadzi" footer.html do index.html, i wypluje zbudowaną stronę do jakiegoś folderu build/ lub innego. I to samo zrobi dla innych podstron. To jest w miarę spoko, bo cały Twój projekt, nie wiedziałby nic o narzędziu z którego korzystasz, a jedynie osadzałbym komentarze HTML w treści. To jest moim zdaniem "najczystsze" podejście.
  • Sposób z integracją z jakimś językiem, np PHP
    index.php z treścią
    Kopiuj
    <!DOCTYPE html>
    <html>
        <? include 'footer.php' ?>
    </html>
    
    Ale to ma kilka wad:
    • Po pierwsze, łatwo możesz namieszać, i w tym PHP tworzyć jakieś cuda jak pętle, if'y, i masę innych złych rzeczy, które powinno zrobić się inaczej.
    • Po drugie, nie możesz łatwo zmienić języka, bo każdy jeden plik z HTML który masz wiedziałby o języku, więc się jakby "przywiążesz do niego".
    • Po trzecie, to co generujesz byłoby zależne od konfiguracji PHP, np php.ini oraz od wersji samego języka.
mr_jaro napisał(a):

@TomRiddle jest jeszcze trzeci sposób, budowanie htmla webpackiem. Frontedowiec z którym obecnie współpracuje tak robi, że ma podzielony html na części i buduje przez komendę statyczne pliki html.

No, to też jest dobry pomysł. Mógłbyś podać przykład dla @kartonpierwszy

KA
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 2 lata
  • Postów:7
0

Panowie, dziękuję za pomoc, pomysły.
Pozdrawiam.

DA
  • Rejestracja:około 6 lat
  • Ostatnio:około 8 godzin
  • Postów:141
1
edytowany 3x, ostatnio: -daniel-
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)