content loader, goed of fout?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Henk de Vries

Henk de Vries

01/08/2012 00:15:40
Quote Anchor link
Hallo allemaal.

Ik heb een vraag over het inladen van content D.M.V PHP.
Laatst heb ik een content loader geschreven, maar weet niet of dit de juiste aanpak/manier is. Het werkt wel prima maar vergt ook veel onderhoud, omdat je steeds een pagina aan het script moet toevoegen als je een nieuwe pagina aanmaakt.

dit is de code die ik heb gemaakt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php

$navigatie
= "";

if (isset($_GET["content"])) {
    if ( $_GET["content"] == "home")
    {

        $navigatie = "home.php";
    }

    elseif ( $_GET["content"] == "nieuws")
    {

        $navigatie = "nieuws.php";
    }

    elseif ( $_GET["content"] == "nieuws_create_item")
    {

        $navigatie = "nieuws_create_item.php";
    }

    elseif ( $_GET["content"] == "nieuws_details")
    {

        $navigatie = "nieuws_details.php";
    }

    elseif ( $_GET["content"] == "nieuws_delete")
    {

        $navigatie = "nieuws_delete.php";
    }

    elseif ( $_GET["content"] == "logout")
    {

        $navigatie = "logout.php";
    }

    else
    {
        $navigatie="home.php";
    }
}

else {
        $navigatie="home.php";    
}

?>

Ik include dit script op de index, en roep $navigatie aan in de content div.


mijn vraag is dus: Is dit de juiste manier om het aan te pakken? zo nee hoe kan ik het beter doen? Ook zou ik het graag OOP willen maken (ik ben op dit gebied best nieuw), maar weet niet echt hoe ik dat het beste aan kan pakken.

In ieder geval, hartstikke bedankt alvast.
Gewijzigd op 01/08/2012 00:18:01 door Henk de Vries
 
PHP hulp

PHP hulp

19/05/2024 09:57:06
 
Jordi Kroon

Jordi Kroon

01/08/2012 01:00:52
Quote Anchor link
Deze aanpak is prima. Om het nog korter te maken zou je de alternatieve manier switch kunnen gebruiken. Het werkt precies hetzelfde maar is een stuk korter.
 
Frank WD

Frank WD

01/08/2012 02:20:30
Quote Anchor link
Of je gebruikt een script die geen onderhoud nodig heeft bij het maken van een pagina.
Deze voorbeeld is gemaakt door Wouter J van het forum:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
                // werken met constants is altijd handig
                define('ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR);

                // haal alle pagina's op uit %root%/pages/
                // die eindigen met .php

                $pages = glob(ROOT.'pages'.DIRECTORY_SEPARATOR.'*.php');
                                
                if (!isset($_GET['p'])) {
                    $_GET['p'] = 'home';
                }


                // haal het path weg (bijv. C:/path/to/some/pages/foo.php => foo.php)
                $pages = array_map('basename', $pages);

                // addslashes functie is niet nodig, omdat je NOOIT
                // andere tekens als letters of cijfers mag gebruiken
                // in een url


                if (in_array($_GET['p'].'.php', $pages)) {
                    // include het bestand
                    require ROOT.'pages'.DIRECTORY_SEPARATOR.$_GET['p'].'.php';    
                }
else {
                    // include de 404 error pagina
                    require ROOT.'error'.DIRECTORY_SEPARATOR.'404.php';              
                }

                ?>
 
Reshad F

Reshad F

01/08/2012 10:08:11
 
Henk de Vries

Henk de Vries

02/08/2012 20:49:36
Quote Anchor link
Hartstikke bedankt voor de reacties. ik ga zeker ever de scripts uitproberen.
maar mijn volgende vraag is: hoe kan ik dat script (bijv die van Wouter J) het beste implementeren, zodat het OOP is? kan ik het gewoon in een klasse zetten onder een functie, en deze inladen? of is dat niet nodig.

bedankt alvast
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.