php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 09-04-2008, 01:58
stekoe2000
 Registrierter Benutzer
Links : Onlinestatus : stekoe2000 ist offline
Registriert seit: Jul 2003
Beiträge: 342
stekoe2000 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Wie funktioniert ein CMS?

So, liebe Leute, ich bin mittlerweile an nem Punkt angelangt, der mir tierisch auf den Keks geht. Und zwar: Ich entwickle seit ein paar Jahren nun schon in PHP und habe auch schon einige Webseiten erfolgreich aufgesetzt und halte sie erfolgreich am Laufen.

Doch: In den meisten Seiten fange ich so an: <? ob_start(); ?> .. Da ich in vielen Unterseiten einen header() sende um umzuleiten und keine Fehlermeldung zu kassieren.

Leider ist dies scheinbar sehr sehr schlecht programmiert und sollte eigentlich vermieden werden, aber da ich vor dem header bereits HTML sende, war das für mich bisher immer Problematisch. Der typische Aufbau meiner Seiten sieht so aus:

{PHP}
{HTML}
{PHP der den Inhalt includiert}
{HTML}

Wenn ich also eine Seite inkludiere, die Login erfordert, sende ich in dieser inkludierten date (wenn kein login vorhanden) einen header("Location:") zu ner anderen Seite. Da ich aber vorher HTML sende, muss ich die Ausgabe buffern.

Das möchte ich ändern. PHP ist eine Scriptsprache und sollte auch nur dafür verwendet werden (habe ich gehört), und daher sollte Design und Script getrennt werden. Aber wie soll ich das machen? Ich habe gar keine Idee und bin auch mehrere male schon dran gescheitert. Und da ich es verstehen will, möchte ich auf kein bestehendes CMS zurückgreifen, sondern entweder selbst eines entwicklen, oder eine Lösung für mein Problem finden. Wie macht ihr das?

// Edit: Was mir heute mittag schon in den Sinn kam war folgende Idee: Das Design komplett auslagern, via file_get_contents() einlesen und definierte Variablen ersetzen. Doch da scheitere ich am Inhalt. Ich inkludiere PHP Dateien und die werden natürlich geparst. Also müsste ich den geparsten Inhalt irgendwie an einer Variable übergeben und mittels str_replace den betreffenden "Template Tag" ersetzen ... kA
__________________
Liebe Grüße,
SteKoe!

PHP Tutorials
Peter Kropff | Quakenet | Schattenbaum.net

Geändert von stekoe2000 (09-04-2008 um 02:03 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 09-04-2008, 02:45
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Ich behelfe mir bei sowas so, daß ich den zu inkludierenden Teil splitte:

dateiname.head.php (wird vor dem HTML-Output eingesetzt)
dateiname.php (Wird im HTML-Quelltext eingesetzt)
Mit Zitat antworten
  #3 (permalink)  
Alt 09-04-2008, 09:19
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Das MVC-Entwurfsmuster wird dir die Erleuchtung bringen. Am besten schau dir an, wie das Zend Framework das implementiert hat.
Mit Zitat antworten
  #4 (permalink)  
Alt 09-04-2008, 13:22
Quetschi
 PHP Expert
Links : Onlinestatus : Quetschi ist offline
Registriert seit: Dec 2004
Beiträge: 3.134
Quetschi wird schon bald berühmt werden
Standard

Ich mag mein kleines, Dom-basiertes CMS

Ich nehme eine xhtml-Datei mit dem Grundgerüst (head, body, ein paar divs). Diese Datei wird dann einfach in Dom eingelesen, einfache Artikel die dann aus einem Editor wie dem fckeditor kommen, werden dann einfach an die gewünschte Stelle eingehängt. Daten die aus irgendwelchen Datenbanken kommen, werden erstmal als Xml geholt und dann per Xslt ins gewünschte xhtml transformiert und dann eben auch wieder an gewünschter Stelle ins Grundgerüst eingehängt.

Jedes Modul gibt dann noch gewisse Infos wie z.B. Seitentitel, zusätzliche CSS-Datei nötig usw. an das CMS-Hauptmodul zurück und dass erstellt dann daraus passende title und meta-Tags und bindet, falls vorhanden, die zu jeweiligen Modulen ggf. vorhandenen Css-Dateien ein.

Zum Schluss gibts die passenden http-Header vornweg und danach wird das fertige xhtml ausgegeben - das schöne dabei: Validität gibts sozusagen gratis mit dazu.

Es gibt also erst eine Ausgabe, wenn das ganze Ding durch ist - dadurch fällt ein Gefrickel mit ob_start(); wegen bereits gesendeten Headern weg.
Mit Zitat antworten
  #5 (permalink)  
Alt 09-04-2008, 21:32
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@Quetschi: Warum nicht alles mit XSLT?
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #6 (permalink)  
Alt 10-04-2008, 09:05
Quetschi
 PHP Expert
Links : Onlinestatus : Quetschi ist offline
Registriert seit: Dec 2004
Beiträge: 3.134
Quetschi wird schon bald berühmt werden
Standard

@tontechniker

keine Ahnung - ich konnte so irgendwie besser "mitdenken"
Mit Zitat antworten
  #7 (permalink)  
Alt 14-04-2008, 10:30
fabs[NO]
 Newbie
Links : Onlinestatus : fabs[NO] ist offline
Registriert seit: Dec 2005
Beiträge: 52
fabs[NO] ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Quetschi
[B]Ich mag mein kleines, Dom-basiertes CMS
Hi, du hast den Sourcecode von dem Projekt nicht zufällig veröffentlicht? Würde mich interessieren, wie du das aufgebaut hast. (zu lernzwecken)
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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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