realizzare un seplice template engine

ragazzi volevo realizzare un semplice template engine per realizzare un sito...

all'inzio ho fatto con gli include e switch, esempio..

@$idpage=$_GET['sezione'];

switch($idpage){
       
       case"1": include("1.php"); // prima pagina
             breack;

       case"2":include("2.php");//seconda pagina
            breack;
      /// e cosi via......
    default:("3.php");
}

 e richiamando le pagine ogni volta con una query string. (index.php?sezione=numero)

però non è il massino perchè per ogni pagina che creao devo andare a modificare tutto...

sapete dirmi come posso realizzare un bel template engine facile da usare.. o se c'è qualche tutorial sul web...

grazie mille in anticipo della risposta

inviato 8 anni fa
felix1
X 0 X

ragazzi nessuno ha da darmi un consiglio?

risposto 8 anni fa
felix1
X 0 X

Forse ciò che ti interessa non è un template engine ma piuttosto un sistema per smistare le richieste delle diverse sezioni del sito.

Se non vuoi aggiungere ogni volta una nuova riga allo switch puoi semplicemente fare così:

@$idpage=$_GET['sezione'];

if($idpagina) {
   include($idpagina . ".php");
} else {
   include("3.php");
}

questo sistema però non è molto sicuro, infatti sarebbe meglio prima verificare se lo script da includere è uno di quelli "leciti", oppure dovresti verificare se esiste nella cartella in cui hai salvato gli script.

In questo modo sei sicuro che un utente non forzi il caricamento di qualche script riservato.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

ho fatto una cosa del genere però non so se a livello di sicurezza se è molto attendibile, potresti dirmi se devo aggiungere qualcos'altro per la sicurezza, praticamente controllo solo de il file dentro la cartella content esiste..

<?php
$path="content/"; 
  if(isset($_GET['sezione'])){  
                 $sezione=$_GET['sezione'];
                 $extention=".php";
                      if(!file_exists("$path1"."$sezione". ".php")){
                            include("$path".'default.php');
                       }
                       else{
                            include("$path"."$sezione"."$extention");
                            }
  } else{
   include("$path".'default.php');
  }
?>
risposto 8 anni fa
felix1
X 0 X

per me è ok, magari userei un percorso assoluto per $path

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

ok grazie per i consigli :bye:

risposto 8 anni fa
felix1
X 0 X

A livello di sicurezza anche il tuo primo script con lo switch è semplice e buono.

Alla fine c'è l'opzione "default" che redirecta tutte le richieste diverse da quelle presenti nei case.

Inoltre non so se ho capito bene ma quel

non è il massino perchè per ogni pagina che creao devo andare a modificare tutto...

può essere evitato inserendo sopra e sotto lo switch due include() con header e footer, in modo tale che ogni volta che nelle diverse pagine cambi solo il contenuto e il template html rimane immutato.

mi spiego meglio

include("header.php");
switch($idpage){
       
       case"1": include("1.php"); // prima pagina
             breack;

       case"2":include("2.php");//seconda pagina
            breack;
      /// e cosi via......
    default:("3.php");
}
include("footer.php")
risposto 8 anni fa
Kaesar83
modificato 8 anni fa
X 0 X

A livello di sicurezza anche il tuo primo script con lo switch è semplice e buono.

Alla fine c'è l'opzione "default" che redirecta tutte le richieste diverse da quelle presenti nei case.

Si, però il primo script richiede continua manutenzione per l'aggiunta di nuove pagine al sito.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Si va bene ma alla fine è una sola pagina che vai ogni volta a modificare e cmq la sicurezza non credo sia affatto in discussione  O0

risposto 8 anni fa
Kaesar83
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda