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

Podstrony w PHP

Cloud VPS
+2 głosów
625 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,100 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ź 541 wizyt
pytanie zadane 16 czerwca 2020 w PHP przez Mateusz Tuczyński Nowicjusz (150 p.)
0 głosów
1 odpowiedź 866 wizyt
pytanie zadane 3 grudnia 2018 w PHP przez BlvckFox Gaduła (4,240 p.)
0 głosów
2 odpowiedzi 2,194 wizyt
pytanie zadane 13 lipca 2015 w PHP przez niezalogowany

93,468 zapytań

142,404 odpowiedzi

322,706 komentarzy

62,849 pasjonatów

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