login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Pagina Systeem

Offline Sar - 09/07/2009 13:23
Avatar van SarPHP interesse Ik zal het allemaal zo goed mogelijk proberen uit te leggen...

Eerder werkte ik altijd met includes, om de aangevraagde pagina in mijn index pagina te includen...

Zoiets dus:
  1. <?php
  2. if(IsSet($_GET['p'])){
  3. include $_GET['p'].".php";
  4. }


***Dit zijn natuurlijk niet mijn scripts maar gewoon een simpele voorbeelden om te laten weten wat ik bedoel...***

Nu doe ik het op een andere manier, en dat is door middel van een templates functies bestand:

  1. <?php
  2. function render_header(){
  3. return "<html>
  4. <head>
  5. <title>test</title>
  6. </head>
  7. <body>
  8. <div class='container'>
  9. <div class='header'></div>
  10. <div class='content'>";
  11. }
  12.  
  13. function render_footer(){
  14. return "</div>
  15. </div>
  16. </body>
  17. </html>";
  18. }
  19. ?>


En om dan in mijn pagina's:

  1. <?php
  2. include_once 'templates.php';
  3.  
  4. echo render_header();
  5. echo "Dit is een pagina!";
  6. echo render_footer();
  7. ?>


Maar wat is volgens jullie nu een betere manier?

Alvast Bedankt!

3 antwoorden

Gesponsorde links
Offline Bart - 09/07/2009 13:32
Avatar van Bart PHP expert Dat ligt bij jezelf..
Template systeem heeft o.a. het pluspunt dat PHP en HTML code gescheiden blijven, daarentegen vergt het extra kennis van Template Parsers.

Pagina include systeem is makkelijk te gebruiken, vergt de nodige kennis van veiligheid en nadeel hiervan is dat je dus je code niet gescheiden hebt en dus onoverzichtelijk maakt.

Tussenweg hierin is natuurlijk gebruikmaken van Google.be: MVC pattern. D.w.z. dat je (simpel gezegd) 3 lagen hebt. Presentatie - Verwerking - Database.
Offline Martijn - 09/07/2009 13:40 (laatste wijziging 09/07/2009 13:40)
Avatar van Martijn Crew PHP ikzelf heb gewoon mn index waar ik alles inzet betreft wat waar moet (dus banner, footer, mogelijk menu, main)
en dan in de div van mn main heb ik een systreem die pagina's include, ongeveer als je eerste stukje code.
Vervolgens elke pagina gewoon maken alsof het in die main past en klaar.

zoiets dus:
  1. <div id="banner"></div>
  2. <div id="main">
  3. <!-- pagina systeem -->
  4. </div>
  5. <div id="footer"></div>
  6. </body>
  7. </html>

en dan uiteraard je stylesheet apart enzo.
Offline ArieMedia - 09/07/2009 14:06
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Ik gebruik zelf Smarty als template engine.

Zoals ik het nu heb maar ik een "main.tpl" daarin staat alle opmaak. In de div "content" zit variable {$content} deze word gevuld met modules, daarin kunnen dus ook weer nieuwe templates in zitten.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s