Ich hör mir mal tkausl's Beitrag dazu an.
Ankündigung
Einklappen
Keine Ankündigung bisher.
[Erledigt] Bei Include nur function anzeigen lassen.
Einklappen
Neue Werbung 2019
Einklappen
X
-
Competence-Center -> Enjoy the Informatrix
PHProcks! • Einsteiger freundliche Tutorials • PreComposed Packages
-
Zitat von Unlikus Beitrag anzeigenwenn du dein Projekt jetzt nicht nur zum Lernen umsetzt, sondern es wirklich einem Nutzen hat, dann würde ich dir ein CMS empfehlen.
Anstonsten würde ich es mal mit einem OOP Ansatz probieren.
heut ist einfach nicht der Tag wo ich lachen könnte, also spart dir deine Witze.
meine Seite ist schon zu sehr aufgebaut, ich kann die zwei Module nicht einfach so umdrehen.
Kommentar
-
Zitat von Arne Drews Beitrag anzeigenWenn Du search.php NACH content.php abarbeitest, wie soll dann content.php wissen, was in search.php herauskommt?! Dreh es um und Du hast auch in content.php über den globalen Scope Zugriff auf die Daten aus search.php![QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]
Kommentar
-
Zitat von 199708897 Beitrag anzeigenCMS?
heut ist einfach nicht der Tag wo ich lachen könnte, also spart dir deine Witze.
Ich stelle einfach mal eine allgemeine Aussage in den Raum.
Das Rad sollte auschließlich zu Lernzwecken neu erfunden werden.
Und da du wohl gerade das Rad neu erfinden willst, will ich dir nur sagen, dass es weniger Arbeit ist es nicht zu tun und es bringt auch noch verdammt viele Vorteile.
(sicherheit, erweiterbarkeit, support, auch andere werden bei deinem Projekt helfen können,...)
Kommentar
-
Solche Sachen kann man einigermaßen unkompliziert über eine Art Status-System (wird in etwas sinnvoller umgesetzt auch etwa Hooks genannt) lösen, in dem jedes Modul zu verschiedenen Ausführungszeitpunkten der Anwendung unterschiedliche Anweisungen ausführen kann.
So kann etwa in einem init-Status ein Modul Werte global bereitstellen, die dann in einem späteren render-Status auch von anderen Modulen genutzt werden können.
Ich skizziere es mal ganz quick & dirty:
inc/search.php:
PHP-Code:<?php
if ($state === 'init') {
$GLOBALS['myproject']['myvar'] = 'foo';
return;
}
// Ansonsten HTML-Content rendern. $GLOBALS['myproject']['myvar'] steht dazu
// dann zur Verfügung
?>
<p>...</p>
PHP-Code:<?php
if ($state === 'init') {
// Kein Code benötigt
return;
}
// HTML-Code, der $GLOBALS['myproject']['myvar'] nutzen kann
?>
<p><?=$GLOBALS['myproject']['myvar']?></p>
PHP-Code:<?php
// Liste und Abfolge der Module
$modules = array('search', 'content');
// Erst Initialisieren, ...
$state = 'init';
foreach ($modules as $module) {
include __DIR__ . '/inc/' . $module . '.php';
}
// ...dann "echt" rendern
$state = 'render';
foreach ($modules as $module) {
include __DIR__ . '/inc/' . $module . '.php';
}
Das könnte hier statt $GLOBALS aber auch ein Array sein, das oben in index.php deklariert wird. Darauf komme ich leider jetzt erst, habe aber keine Lust mehr, zu editieren. Ist ja ohnehin nur eine Skizze.
Kommentar
-
Wie immer, klasse ausgeführt, mermshaus.
Das Ganze ändert allerdings nichts an der Reihenfolge, wie Du es ja auch selber definierst:
Zitat von mermshausPHP-Code:// Liste und Abfolge der Module
$modules = array('search', 'content');
Zitat von 199708897Da muss es schon einen anderen Weg geben...Competence-Center -> Enjoy the Informatrix
PHProcks! • Einsteiger freundliche Tutorials • PreComposed Packages
Kommentar
-
Zitat von Arne Drews Beitrag anzeigenWie immer, klasse ausgeführt, mermshaus.
Das Ganze ändert allerdings nichts an der Reihenfolge, wie Du es ja auch selber definierst:[QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]
Kommentar
-
Zuletzt geändert von Arne Drews; 10.12.2014, 07:33.Stimmt, das habe ich wohl überlesen. Aber macht das Sinn? Ich denke da bspw. an Redundanz. Und auch gerade in Bezug auf die Gegebenheiten beim TE, werden wohl sicher sowohl in content, als auch in search ein PHP/HTML-Mix enthalten sein. Das würde zu doppelten Ausgaben führen.
Wenn man dann anfängt, das ganze umzubauen, kann man's auch gleich richtig machen...
EDIT
Oh, es scheint zu früh für mich zu sein...
Natürlich "fängt" mermshaus doppelte Ausgaben über $state ab, aber dennoch halte ich es für sinnvoller, das ganze komplett anders aufzubauen...Competence-Center -> Enjoy the Informatrix
PHProcks! • Einsteiger freundliche Tutorials • PreComposed Packages
Kommentar
-
Zitat von Arne Drews Beitrag anzeigenStimmt, das habe ich wohl überlesen. Aber macht das Sinn? Ich denke da bspw. an Redundanz. Und auch gerade in Bezug auf die Gegebenheiten beim TE, werden wohl sicher sowohl in content, als auch in search ein PHP/HTML-Mix enthalten sein. Das würde zu doppelten Ausgaben führen.
Wenn man dann anfängt, das ganze umzubauen, kann man's auch gleich richtig machen...
EDIT
Oh, es scheint zu früh für mich zu sein...
Natürlich "fängt" mermshaus doppelte Ausgaben über $state ab, aber dennoch halte ich es für sinnvoller, das ganze komplett anders aufzubauen...
Ich muss zwar alles umbauen, aber wenigstens habe ich den Fehler jetzt verstanden.
Kommentar
Kommentar