Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> index.php - switch i powtarzający się kod., Jak proponujecie wybrnąć z sytuacji.
tdr
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 2.02.2013

Ostrzeżenie: (0%)
-----


Cześć!

Jestem w trakcie nauki php-a i tworze właśnie plik index.php. Jednak już na tym etapie natknąłem się na problem powtarza się kodu... Problem jest może i banalny ale chciałbym wiedzieć jak Wy sobie radzicie w takich przypadkach. Jedyny pomysł, który przyszedł mi do głowy to użyć:
Kod
$gowna = <<<PL
$url = 'strony/glowna.php';
$title = "Bez switch: Strona główna";
$description = "Opis: Default - strona główna";
PL;
Jednak z przyjemnością posłucham Waszych sugestii.

Kod
<?php

if(isset($_GET['strona'])){
    switch($_GET['strona']){
        case 'kontakt':
            $url = 'strony/kontakt.php';
            $title = "Tytuł: Dział kontakt";
            $description = "Opis: Opis podstrony działu kontakt";
        break;
        
        default:
            $url = 'strony/glowna.php';
            $title = "Default: Strona główna";
            $description = "Opis: Default - strona główna";
    }
}else{
    $url = 'strony/glowna.php';
    $title = "Bez switch: Strona główna";
    $description = "Opis: Default - strona główna";
}

    include "templates/header.php";
    include $url;
    include "templates/footer.php";


?>



Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Dejmien_85
post
Post #2





Grupa: Zarejestrowani
Postów: 251
Pomógł: 23
Dołączył: 23.04.2013

Ostrzeżenie: (0%)
-----


Ze swojej strony mogę dać Ci jedną poradę - jako początkujący zapamiętaj to sobie: Pisz kod tak, aby był otwarty na rozszerzenia bez modyfikacji aktualnego kodu.

Chodzi o to, abyś na samym początku swojego "kontrolera" (index.php) załączył do swojej aplikacji zewnętrzne pliki, które będą już mieć przypisaną logikę, a Twój index.pl ma się tylko do nich odwoływać i wyciągać z nich dane. Oczywiście nie bezpośrednio - wszystko powinno być przykryte warstwą abstrakcji i polimorfizmem, aby zachować elastyczność kodu.

Radzę Ci od razu zająć się programowaniem obiektowym i wzorcami projektowymi (nauczysz się jak unikać powielania kodu i jak wykorzystać abstrakcję). Pisząc kod proceduralnie (tak jak to teraz robisz) będziesz ciągle błądził w wąskim korytarzu - otwórz wrota OOP i wzorców projektowych, a zobaczysz nowy świat i nowe rozwiązania swoich problemów. (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 08:18