• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Podstrony w PHP

HackNation - ogólnopolski hackathon
+2 głosów
707 wizyt
pytanie zadane 14 kwietnia 2021 w PHP przez FilOON Użytkownik (680 p.)

Witam, mam następujśce pytanie odnośnie systemu podstron w PHP.
A mianowicie czy poniższy sposób jest 'elegancki'? Mam na myśli czy tak się robi w profesjonalnych projektach, czy raczej jest to bardziej taka szkolna metoda?

<?php
        (empty($_GET['page'])) ? $url = "stronaglowna" : $url = $_GET['page'];

        include("nawigacja.html");
    
        switch($url){

            case "stronaglowna":
                include("stronaglowna.html");
            break;

            case "omnie":
                include("omnie.html");
            break;

            case "portfolio":
                include("portfolio.html");
            break;

            case "cennik":
                include("cennik.html");
            break;

            case "kontakt":
                include("kontakt.html");
            break;
   
        }

        include("stopka.html");
    ?>

 

komentarz 15 kwietnia 2021 przez VBService Ekspert (256,600 p.)
edycja 15 kwietnia 2021 przez VBService

Difference between require, include, require_once and include_once?

        switch($url){
 
            case "omnie":
                include("omnie.html");
            break;
 
            case "portfolio":
                include("portfolio.html");
            break;
 
            case "cennik":
                include("cennik.html");
            break;
 
            case "kontakt":
                include("kontakt.html");
            break;

            case "stronaglowna":
            default:
                include("stronaglowna.html");
    
        }

lub

        switch($url){
 
            case "stronaglowna":
                include("stronaglowna.html");
            break;
 
            case "omnie":
                include("omnie.html");
            break;
 
            case "portfolio":
                include("portfolio.html");
            break;
 
            case "cennik":
                include("cennik.html");
            break;
 
            case "kontakt":
                include("kontakt.html");
            break;

            default:
                include("404.html");
        }

 

28+ Best Custom 404 Error Pages PHP Templates

2 odpowiedzi

+2 głosów
odpowiedź 14 kwietnia 2021 przez CubeStorm Pasjonat (15,020 p.)
wybrane 14 kwietnia 2021 przez FilOON
 
Najlepsza

Wiem jaki efekt tutaj chciałeś osiągnąć.

Jeśli chodzi o te "profesjonalne" projekty to zazwyczaj nie są one pisane w czystym PHP, a w jego frameworku, np. Laravel, Symphony, Zend etc. Te frameworki korzystają z systemu szablonów, np. Laravel korzysta z Blade, a Symphony korzysta z Twig. Gdybyś zdecydował się na naukę jakiegoś systemu szablonów i użycie go w Swoim projekcie to znacznie ułatwiłoby Ci to pracę, kod PHP zmieszany z HTML wyglądałby "ładniej" oraz przede wszystkim udałoby Ci się osiągnąć zamierzony efekt. Do tego oczywiście musisz mieć sekcje w swojej aplikacji, która odpowiada za routing.

Tutaj wrzucam parę takich bibliotek, nie sugeruj się tym, że to ranking. Wybierz ten, który Ci pasuje. Fajnie gdybyś w przyszłości opanował więcej niż jeden.

Poczytaj o różnicach między require() a include() i zastanów się czy require() nie będzie tutaj lepszą opcją. Dodatkowo użyłbym require_once (lub include_once()), co sprawiłoby, że drugi raz nie zaimportujesz tej samej struktury, a z tego co widzę to importowanie nawigacji czy stopki powinno nastąpić na stronie tylko raz.

Ten switch nie jest stworzony dobrze. W jakimkolwiek języku tworzysz, gdy używasz switcha powinieneś obsłużyć również warunek default, który spełni się gdy żaden z powyższych nie spełni warunku. Switch

komentarz 14 kwietnia 2021 przez FilOON Użytkownik (680 p.)
przeniesione 15 kwietnia 2021 przez Arkadiusz Waluk
Bardzo dziękuje za obszerne wytłumaczenie tematu, dużo mi to naświetliło :)
+2 głosów
odpowiedź 14 kwietnia 2021 przez Comandeer Guru (607,330 p.)

W profesjonalnych projektach najczęściej będzie wykorzystany framework. 

To, co robisz przy pomocy switcha, to tzw. routing. Można znaleźć gotowe biblioteki pod to, niektóre wręcz za profesjonalne ;)

Ogólnie koncepcja jest taka, że masz obiekt, który przyjmuje żądania od użytkownika i następnie dopasowuje URL do konkretnej akcji w aplikacji. Jak znajdzie dopasowanie, to wykonuje tę akcję. Jak nie znajdzie, zwraca błąd 404 albo robi coś innego, co jest sensowne w danej aplikacji (np. przekierowuje na stronę główną).

Podobne pytania

0 głosów
1 odpowiedź 615 wizyt
pytanie zadane 16 czerwca 2020 w PHP przez Mateusz Tuczyński Nowicjusz (150 p.)
0 głosów
1 odpowiedź 941 wizyt
pytanie zadane 3 grudnia 2018 w PHP przez BlvckFox Gaduła (4,240 p.)
0 głosów
2 odpowiedzi 2,291 wizyt
pytanie zadane 13 lipca 2015 w PHP przez niezalogowany

93,628 zapytań

142,551 odpowiedzi

323,050 komentarzy

63,133 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 1694p. - dia-Chann
  2. 1676p. - DziarnowskiJ
  3. 1650p. - Łukasz Piwowar
  4. 1640p. - CC PL
  5. 1616p. - Maurycy W
  6. 1607p. - raydeal
  7. 1602p. - Adrian Wieprzkowicz
  8. 1588p. - Tomasz Bielak
  9. 1521p. - Michal Drewniak
  10. 1491p. - Rafał Trójniak
  11. 1471p. - rafalszastok
  12. 1444p. - robwarsz
  13. 1257p. - ssynowiec
  14. 1208p. - Mariusz Fornal
  15. 1116p. - rucin93
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...