homepage-forum.de - Hilfe für Webmaster!
 
 




meine-erste-homepage.com Heutige Beiträge Wer ist online? Kontakt Impressum & Forenregeln
Zurück   homepage-forum.de - Hilfe für Webmaster! > 1 - Homepage-Forum > 1.4 - Scriptarchiv

Antwort
 
Themen-Optionen Ansicht
Alt 25.02.2012, 17:38   #21
xm22
Kaiser
 
Registriert seit: 04.06.2009
Beiträge: 2.257
xm22 wird schon bald berühmt werdenxm22 wird schon bald berühmt werden
Standard AW: PHP - Ein Layout per "function"?!

Zitat:
Es geht hier um halbstatische Webseiten.
Selbst da ist es Murks, so, wie Du das beschreibst, zu entwickeln.. Jemand, der auf diese Art und Weise entwickeln würde, ist i. d. R. mit einem cms besser beraten.
__________________
... Meine Meinung
xm22 ist offline   Mit Zitat antworten
Werbung



Alt 26.02.2012, 08:06   #22
ne0n
König
 
Registriert seit: 12.07.2003
Ort: Irgendwo im Nirgendwo
Alter: 24
Beiträge: 657
ne0n hat die Renommee-Anzeige deaktiviert
ne0n eine Nachricht über ICQ schicken
Standard AW: PHP - Ein Layout per "function"?!

Zitat:
Zitat von xm22 Beitrag anzeigen
Du kannst doch aber nicht alle Funktionalität in eine index.php packen..?!
tada

PHP-Code:
<?php

class template
{
    public 
$sTemplate;
    public 
$sDefaultTemplate;
    public 
$aReplacements;

    public function 
__construct($pageTitle)
    {
        
$this->sDefaultTemplate 'layout.html';
        
$this->aReplacements = array();
        
$this->aReplacements['title'] = $pageTitle;
        
$this->aReplacements['info'] = array();
        
$this->sTemplate file_get_contents('template/'.$this->sDefaultTemplate);
    }

    
/**
     * set()
     * fill the array with string data
     */
    
public function set($sSearchtag$sReplacement)
    {
      switch(
$sSearchtag)
      {
        case 
'info':
          
array_push($this->aReplacements[$sSearchtag], $sReplacement);
          break;
        default:
          
$this->aReplacements[$sSearchtag] = $sReplacement;
          break;
      }
    }

    
/**
     * get()
     * return the requested string data if available
     */
    
public function get($sSearchtag)
    {
        if(isset(
$this->aReplacements[$sSearchtag]))
        {
            return 
$this->aReplacements[$sSearchtag];
        }
        return 
false;
    }

    
/**
     * reset()
     * flushes the replace-array
     */
    
public function reset()
    {
        unset(
$this->aReplacements);
        
$this->aReplacements = array();
    }

    
/**
     * setLayout()
     * defines the templatefile
     */
    
public function setLayout($tplfile)
    {
        if(
file_exists('template/'.$tplfile))
        {
            
$this->sTemplate file_get_contents('template/'.$tplfile);
            return 
true;
        }
        return 
false;
    }

    
/**
     * resetLayout()
     * defines the defaultfile as templatefile
     */
    
public function resetLayout()
    {
        
$this->setLayout($this->sDefaultTemplate);
    }

    
/**
     * generate()
     * replace the template while using the replace-array (filled up using set method)
     * with the given data and returns or print the result
     */
    
public function generate($return false)
    {
        if(
count($this->aReplacements) > 0)
        {
            foreach(
$this->aReplacements as $sSearchtag => $sReplacement)
            {
              if(
$sSearchtag == 'info' AND count($sReplacement) > 0)
              {
                
$sInfoMessages '<div id="infobox">';
                foreach(
$sReplacement as $sInfoSearchtag => $sInfoReplacement)
                {
                  
$sInfoMessages .= '<p class="info elem'.$sInfoSearchtag.'">'.$sInfoReplacement.'</p>';
                }
                
$sInfoMessages .= '</div>';
                
$this->sTemplate str_replace('{'.strtoupper($sSearchtag).'}'$sInfoMessages$this->sTemplate);
              }
              else if(
$sSearchtag == 'info')
              {
                
$this->sTemplate str_replace('{'.strtoupper($sSearchtag).'}'''$this->sTemplate);
              }
              else if(! 
is_array($sReplacement))
              {
                
$this->sTemplate str_replace('{'.strtoupper($sSearchtag).'}'$sReplacement$this->sTemplate);
              }
            }
        }

        
$sTemplate $this->sTemplate;
        
$this->resetLayout();

        switch(
$return)
        {
            case 
false:
                echo 
$sTemplate;
                return 
true;
                break;
            default:
                return 
$sTemplate;
                break;
        }
        return 
false;
    }
}
ne0n ist offline   Mit Zitat antworten
Alt 26.02.2012, 15:45   #23
xm22
Kaiser
 
Registriert seit: 04.06.2009
Beiträge: 2.257
xm22 wird schon bald berühmt werdenxm22 wird schon bald berühmt werden
Standard AW: PHP - Ein Layout per "function"?!

Zitat:
Zitat:
Zitat:
Du kannst doch aber nicht alle Funktionalität in eine index.php packen..?!
tada
Wo ist da jetzt der Zusammenhang?
__________________
... Meine Meinung
xm22 ist offline   Mit Zitat antworten
Alt 27.02.2012, 11:14   #24
ne0n
König
 
Registriert seit: 12.07.2003
Ort: Irgendwo im Nirgendwo
Alter: 24
Beiträge: 657
ne0n hat die Renommee-Anzeige deaktiviert
ne0n eine Nachricht über ICQ schicken
Standard AW: PHP - Ein Layout per "function"?!

Das sollte darauf hinweisen, das nur weil man eine einfach tpl-engine nutzt man noch lange nicht gezwungen ist die ganze Funktionalität in eine Index zu packen
ne0n ist offline   Mit Zitat antworten
Werbung



Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Webdesigner - Web- / PHP Entwickler Tobias233 2.6 - Smalltalk 9 18.11.2010 17:19
Homepage ohne Frames - wie binde ich jetzt php in die Navigation? FliegerWH15 1.2.2 - HTML, CSS & JavaScript 39 01.10.2008 15:34
Radio DeR VeRrÜcKtE KrOaTe 1.2.2 - HTML, CSS & JavaScript 14 19.12.2004 14:38
T-Online stellt sein bisheriges Homepage-Angebot ein fritz 2.1 - Webhoster, Webspace, Server 6 11.05.2003 15:16


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:57 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Advertisement System v2.6 by Branden
Copyright © meine-erste-homepage.com
Webcounter.Goweb.de



STRATO HiDrive - die sichere Onlinespeicher!