php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.02.2005, 14:01  
Gast
 
Beiträge: n/a
Standard Template System tutorial

Hallo

Ich habe dieses tutorial gefunden.

http://www.tutorials.de/tutorials12907.html

Nun stellen sich mir 2 fragen.

1. Jeder kennt smarty denk ich mal.

Ist es bei dem System vom tutoial genauso das man z.B. für dem imageordner einfach {imagefolder} eingeben kann.

2. Was muss ich an dem oberen System Ändern das er den Template inhalt von der db zieht und dann in denn ordner cache cacht.


Oder kennt ihr vielleicht sogar schon ein Tutorial wo dies möglich ist.
aber vielleicht kenn tihr auch noch ein tutoail wo etwas besser erklärt ist.

Es ist mir schon wichtig das man die Templates über ein Acp bearbeiten und erstellen bzw löschen kann ( Wenn jemand das Burning board 2 kennnt weiß was ich meine).

Danke schonmal für jede Hilfe.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.02.2005, 21:55  
Gast
 
Beiträge: n/a
Standard

http://smarty.php.net

Ist besser
 
Alt 09.02.2005, 19:42  
Gast
 
Beiträge: n/a
Standard

mh ok

aber kannst du mir vielleicht drotzdem mal erklären, wie ich die teiel aus der db cachen lassen kann.

es sollen aber auch nur die geänderten gecacht werden.
 
Alt 09.02.2005, 19:49  
Gast
 
Beiträge: n/a
Standard

Beispiel für einen sql cache aus Buch besser php programmieren
leicht umzusetzen für templatengine

PHP-Code:
<?php 
class sqlCache
{
   
// Initialisieren der benoetigten Werte
   
var $server="localhost";
   var 
$user="netviserorg";
   var 
$password="password";
   var 
$database="netviser";
   
   var 
$data=array();  // Speichert die Daten aus der Abfrage
   
var $filename='';  // Enthaelt den Namen der Cache-Datei
   
   // Konstruktor der Klasse
   // Initialisiert das Objekt
   // $expire ist die Gueltigkeitsdauer des Caches in Sekunden
   // $query_data ist ein Array mit Suchbegriffen
   
function sqlCache($expire$query_data)
   {
      
// Sortiert Suchbegriffe alphabetisch fuer den Dateinamen
      
sort($query_data);
      
// erstellt den Dateinamen
      
$this->filename=implode("_",$query_data).".dat";
      
$this->filename=strtolower($this->filename);
      
// Cache loeschen, damit filemtime() korrekt arbeitet
      
clearstatcache();
      
// Existiert Cache-Datei und ist sie gueltig? => Cache-Hit
      
if ((true==file_exists($this->filename)) &&
          (
time()-$expire) <= filemtime($this->filename)
         )
      {
         
// Ja, wir haben einen Hit => Datei einlesen
         
$raw_data=file_get_contents($this->filename);
         
// Die ersten 32 Byte sind der md5-Hash
         
$md5=substr($raw_data,0,32);
         
// Restliche Daten separieren
         
$ser_data=substr($raw_data,32);
         
// Gelesene Daten OK?
         
if ($md5 != md5($ser_data))
         {
            
// Daten nicht OK, Datenbank abfragen
            
$this->_queryData($query_data);
         }
         else 
         {
            
// Daten sind OK => entpacken
            
$this->data=unserialize($ser_data);
         }
      }
      else
      {
         
//Cache-Miss => Cache-File war nicht aktuell 
         // oder nicht angelegt => Daten abfragen
         
$this->_queryData($query_data);
         
// Cache-Datei schreiben
         
$this->_makeFile();
      }
   }

   
   function 
_queryData($query_data)
   {
      
// Verbindung zur Datenbank oeffnen
      
$db=mysql_connect($this->server,
                        
$this->user,
                        
$this->password);
      
mysql_select_db($this->database,$db);

      
// SQL-Befehl konstruieren
      
$bed1=implode("%'OR titel LIKE '%",$query_data)."%' ";
      
$bed2=implode("%'OR beschreibung LIKE '%"
                                         
$query_data)."%' ";

      
$sql="SELECT titel,beschreibung,bidder FROM auktionen 
               WHERE (
                  titel LIKE '%$bed1 
                  OR beschreibung LIKE '%$bed2)"
;
      
// Abfrage zur Datenbank
      
$query_result=mysql_query($sql,$db);
      if (
false===$query_result)
      {
         die (
"Fehler in Abfrage
"
.mysql_error());
      }
      
mysql_close($db);
      
// Alle Daten auslesen und in Array speichern
      
while ($zeile=mysql_fetch_row($query_result))
      {
         
$this->data[]=$zeile;
      }

   }
   
   function 
_makeFile ()
   {
      
// Daten packen, um sie speichern zu koennen
      
$ser_data=serialize($this->data);
      
// md5-Hash berechnen
      
$md5=md5($ser_data);
      
// In PHP5 koennen Sie alternativ 
      // file_put_contents($this->filename, “$md5$ser_data”) 
      // nutzen
      
$fp=fopen($this->filename,"w");
      if (
false==$fp)
      {
         die (
"Konnte Cache-Datei nicht anlegen");
      }
      
// md5-Hash speichern
      
fwrite ($fp,$md5); 
      
// Serialisierte Daten speichern        
      
fwrite ($fp,$ser_data);
      
fclose($fp);
   }
   
}

// Cache-Datei soll 60 Sekunden gueltig sein
$expire=60;
// Suchbegriffe, die der Benutzer eingegeben hat
$daten=array("corrado","vw");
// Neues Cache-Objekt für diese Suchbegriffe erzeugen
$sql_result=new sqlCache($expire,$daten);
// Daten aus $sql_result->data weiterverarbeiten.  
?>
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ausgabe im Template System nicht an vorgsehener Stelle Kein Genie PHP-Fortgeschrittene 7 21.04.2008 23:06
template system cycap PHP Tipps 2007 7 27.02.2007 08:59
template system jens76 PHP Tipps 2007 2 17.12.2005 21:58
template in template einfuegen tonne PHP Tipps 2005-2 8 10.11.2005 22:24
Eigenes Template System PHP Tipps 2005-2 31 07.08.2005 01:24
Template System oder Lösung gesucht PHP Tipps 2005 14 21.05.2005 22:07
Template System mit IF PHP Tipps 2005 10 06.05.2005 23:58
Vorschläge für eigenes template system! PHP Tipps 2005 2 14.03.2005 13:44
Php Code als Variable definieren und in Template darstellen PHP Tipps 2004-2 4 31.12.2004 16:22
Welches Template System? zwelch PHP Tipps 2004-2 1 18.11.2004 09:04
suche ein bestimmtes template system PHP Tipps 2004-2 2 07.11.2004 19:49
Template Parser PHP-Fortgeschrittene 9 06.10.2004 23:04
Smarty als Template System?! PHP Tipps 2004 16 22.07.2004 11:22
Smarty Template System: If Anweisung? PHP Tipps 2004 2 18.07.2004 19:31
[Erledigt] Template Scripting PHP-Fortgeschrittene 2 04.06.2004 18:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php template system tutorial, template system tutorial, template system php tutorial, smarty tutorial deutsch, php tutorial template system, templatesystem tutorial, php tutorial templatesystem, http://www.php.de/php-tipps-2005/17399-erledigt-template-system-tutorial.html, php template system, smarty tutorial, php templatesystem tutorial, php template buch, template system tut, tutorial template system, template system, templatesystem php tutorial, template system php tutorial jquery tutorials.de, php eigenes template-system tutorial, php5 template tutorial, php eigenes template system tutorial

Alle Zeitangaben in WEZ +1. Es ist jetzt 13:06 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.