aan alle goede dingen komt een eind, webmasterplein.net 2003 - 2013
wij danken jullie voor al mooie momenten die dankzij dit forum ontstonden - Derk, Rutger en Stef

[php] Te simpele template-system

Deel alles wat je delen kan, gebruik het voor opslag, plaats het omdat je er trots op bent of creƫer samen wat moois!

[php] Te simpele template-system

Berichtdoor frizzy » 10 dec 2008 16:43

Eigenlijk mag ik dit geen template parser noemen, maar ik vind hem wel geniaal. Gebruik altijd zoiets, is lekker snel en werkt perfect voor wat ik er van verwacht.
Code: Selecteer alles
<?php
   // Simpele Template-Dinges...
   $inpage   =   false;
   function viewer($name=false, $vars=array()){
      global $inpage;
      if($name !== false){
         if(@fopen('viewers/'.$name.'.tpl.php', 'r')){
            
            foreach($vars as $v=>$g){
               $$v   =   $g;
               define(strtoupper(str_replace(' ','_', $v)), $g);
            }
            
            if($inpage == false){
               include('viewers/header.tpl.php');
               $inpage   =   true;
            }
            include('viewers/'.$name.'.tpl.php');
            if($inpage == false){
               include('viewers/footer.tpl.php');
            }
            
            return true;
         }
         else{
            return false;
         }
      }
      else{
         return false;
      }
   }
?>


Even snel gerateld omdat ik me verveelde, kan dus foutje in zitten
frizzy
wmpr
 
Berichten: 4261
Geregistreerd: 20 sep 2006 16:03
Woonplaats: Boskoop :D

Re: [php] Te simpele template-system

Berichtdoor libia » 10 dec 2008 17:45

tip: pas op met global! als je niet oplet kunnen er onverwachte dingen gebeuren.. in princiepe heb je nooit global nodig ;)
tip: gebruik nooit @ (@fopen()), gebruik gewoon een goede controle!
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: [php] Te simpele template-system

Berichtdoor Derk » 10 dec 2008 20:12

als je fopen in een if zet met een @ ervoor is je controle wat mij betreft genoeg hoor. Anders zou je moeten gaan kijken of het bestand bestaat voor je fopen draait. Nu zit die check gewoon bij fopen in.

Global is in de niet-OOP omgeving anders wel een verdraaid handige optie.
Afbeelding
Avatar gebruiker
Derk
Beheerder
Beheerder
 
Berichten: 12634
Geregistreerd: 27 nov 2003 19:50
Woonplaats: Houten

Re: [php] Te simpele template-system

Berichtdoor frizzy » 10 dec 2008 20:44

Afbeelding
frizzy
wmpr
 
Berichten: 4261
Geregistreerd: 20 sep 2006 16:03
Woonplaats: Boskoop :D

Re: [php] Te simpele template-system

Berichtdoor Derk » 10 dec 2008 21:13

frizzy schreef:[ img ]

Komt me vaag bekend voor...
Afbeelding
Avatar gebruiker
Derk
Beheerder
Beheerder
 
Berichten: 12634
Geregistreerd: 27 nov 2003 19:50
Woonplaats: Houten

Re: [php] Te simpele template-system

Berichtdoor frizzy » 10 dec 2008 21:22

Geniaal gemaakt vriend ;)
frizzy
wmpr
 
Berichten: 4261
Geregistreerd: 20 sep 2006 16:03
Woonplaats: Boskoop :D

Re: [php] Te simpele template-system

Berichtdoor libia » 10 dec 2008 23:12

Derk schreef:als je fopen in een if zet met een @ ervoor is je controle wat mij betreft genoeg hoor. Anders zou je moeten gaan kijken of het bestand bestaat voor je fopen draait. Nu zit die check gewoon bij fopen in.

Global is in de niet-OOP omgeving anders wel een verdraaid handige optie.

@ is foten onderdrukken, maar fouten moet je voorkomen, niet mishandelen :)

En ja global kan handig zijn, maar - zeker bij een snippet - moet de gene die het script gebruikt goed oppassen en op blijven letten, daarom lijkt het me bij een snippet handig om dit zo min mogelijk te gebruiken ;)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: [php] Te simpele template-system

Berichtdoor frizzy » 11 dec 2008 11:02

Ik snap niet wat er zo moeilijk is aan een global, sorry. En als hij de pagina niet kan vinden geeft hij naast false terug ook een error, maar dit staat niet netjes. Daarom onderdruk ik hem
frizzy
wmpr
 
Berichten: 4261
Geregistreerd: 20 sep 2006 16:03
Woonplaats: Boskoop :D

Re: [php] Te simpele template-system

Berichtdoor Derk » 11 dec 2008 23:05

frizzy schreef:En als hij de pagina niet kan vinden geeft hij naast false terug ook een error, maar dit staat niet netjes. Daarom onderdruk ik hem

Wat je dus moet doen is eerst kijken of de file bestaat voordat je fopen gebruikt. Dan krijg je nooit een error die je moet onderdrukken. Maargoed, ik geef je groot gelijk dat je deze oplossing toepast. Doe ik ook altijd!
Afbeelding
Avatar gebruiker
Derk
Beheerder
Beheerder
 
Berichten: 12634
Geregistreerd: 27 nov 2003 19:50
Woonplaats: Houten

Re: [php] Te simpele template-system

Berichtdoor Stefan » 12 dec 2008 21:24

Derk schreef:Wat je dus moet doen is eerst kijken of de file bestaat voordat je fopen gebruikt.
Kan dat gewoon met file_exists()?
Opzoek naar een webdesigner? http://webtilize.net/
Avatar gebruiker
Stefan
wmpr
 
Berichten: 406
Geregistreerd: 27 dec 2007 14:08
Woonplaats: Ter Aar

Re: [php] Te simpele template-system

Berichtdoor libia » 13 dec 2008 00:26

Steef Keijzer schreef:
Derk schreef:Wat je dus moet doen is eerst kijken of de file bestaat voordat je fopen gebruikt.
Kan dat gewoon met file_exists()?

Is_file() geloof ik
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: [php] Te simpele template-system

Berichtdoor Remi » 13 dec 2008 12:30

Het doet ongeveer hetzelfde.
Maar het grote verschil is dat is_file alleen naar de bestanden kijkt, en file_exists ook de mappen mee neemt.
Avatar gebruiker
Remi
wmpr
 
Berichten: 3010
Geregistreerd: 04 apr 2006 15:22

Re: [php] Te simpele template-system

Berichtdoor libia » 13 dec 2008 20:01

Remi schreef:Het doet ongeveer hetzelfde.
Maar het grote verschil is dat is_file alleen naar de bestanden kijkt, en file_exists ook de mappen mee neemt.

Dat lijkt me hier niet nodig of wel?
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!


Keer terug naar Snippets



cron