brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 25-03-2009, 00:03
GELight
 Registrierter Benutzer
Links : Onlinestatus : GELight ist offline
Registriert seit: Sep 2004
Beiträge: 243
GELight ist zur Zeit noch ein unbeschriebenes Blatt
GELight eine Nachricht über ICQ schicken
Standard [Funktion] ob_start()...

Nabend alle zusammen,

Bin derzeit mal dabei mir dieses ob_start();. etc. anzuschauen und finde es sehr interessant.
Gerade auch im Bezug auf die Denkweise von oder für Template-Engines ala Smarty.
Smarty selbst muss ich an meiner Arbeit in der Firma nutzen und privat versuche ich gerade mit einfachen Tests mal eine "Art" kleiner TemplateEngine nachzustellen. Bin hier aber an ein kleines Hindernis gestoßen, wo ich entweder einen Denkfehler habe oder ich ob_start nicht ganz verstanden habe.

In der hilfe steht zB:
PHP-Code:
    ob_start();
    echo 
'<h1>Hello world to cache</h1>';
    
$content ob_get_contents();
    
ob_end_clean();

    echo 
$content
Soweit auch kein Problem und läuft. Zusätzlich habe ich gelesen, dass man hier auch verschachtelt arbeiten kann. Also habe ich mir eine kleine Testumgebung aufgebaut, in der ich innerhalb von ob_start() und ob_end_clean() eine weitere PHP includiere.... soweit auch noch kein Problem. Problematisch wird es, wenn ich versuche, wiederum eine weitere PHP in dieser zu includierenden, die in einer eigenen op_start...etc.. drin steht.
Er zeigt mir die 2x includierte PHP leider nur 1x an und scheint den bestehenden Buffer irgendwie zu überschreiben. Hoffe ihr könnt mir folgen...

In einer echten TemplateEngine kann man ja ein Template auch mehrfach includieren...

Gruß Mario
Mit Zitat antworten
  #2 (permalink)  
Alt 25-03-2009, 07:58
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 2.328
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Du kannst ja mehrer Templates inkludieren. ob_start() darfst du nur beim ersten/obersten Template machen.

index.php
PHP-Code:
ob_start();
include 
'template1.php';
$content ob_get_contents();
ob_end_clean();
echo 
$content
template1.php
PHP-Code:
<h1>Hello world to cache</h1>
<?php include 'template2.php'?>
template2.php
PHP-Code:
<h2>Ich bin ein partielles Template.</h2
Mit Zitat antworten
  #3 (permalink)  
Alt 25-03-2009, 15:23
GELight
 Registrierter Benutzer
Links : Onlinestatus : GELight ist offline
Registriert seit: Sep 2004
Beiträge: 243
GELight ist zur Zeit noch ein unbeschriebenes Blatt
GELight eine Nachricht über ICQ schicken
Standard [Funktion] ob_start

Hi h3ll,

Mit dem reinem Includieren klappts wunderbar. Da hast du Recht.
Hatte mich nicht genau genug ausgedrückt.

Ich möchte gern jedes Template für sich abarbeiten lassen und seperat auch in einem Array speichern. Ich habe eine kleine Klasse, in der es eine Methode gibt, die ich für das includieren nutzen möchte. Ich möcht mir somit die Möglichkeit geben, in meinen Templates beliebige Methoden der Klasse nutzen zu können. Diese Methode führt somit auch immer ob_start()... [include]... ob_clear() aus.

Somit würde es auch zu solchen Strukturen kommen, wie ich sie derzeit habe.

PHP-Code:
tpl1
- - tpl2
- - tpl2
- - - - tpl3
- - tpl2 
Hier würden in meinem Fall also ob_start... etc. mehrfach "nebeneinander bzw. hintereinander" ausgeführt werden. Ich weiß halt nicht, ob das überhaupt so funktioniert, wie ich mir das denke.

Gruß Mario
Mit Zitat antworten
  #4 (permalink)  
Alt 25-03-2009, 16:13
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 2.328
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Eher nicht.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:48 Uhr.