Forum objektorientiert programmieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Forum objektorientiert programmieren

    Hallo Community,

    Ich habe von paar Wochen ein Forum angefangen zu Programmieren ( Bis jetzt alles in OOP ). Aber jetzt komme ich bei einem Punkt nicht weiter: Die Seiten.
    Bei Woltlab ist das irgendso ein RequestHandler der dann irgendeine Klasse einbindet.

    Wie sollte ich das am besten machen? Ich möchte nähmlich etwas seriöses und zu gleich OOP basierendes machen.

    Zurzeit hab ich folgende Idee:

    RequestHandler::HandleRequest() überprüft ob $_GET['page'] einen Wert hat und lädt dann eine Datei aus /page/$_GET['page'].class.php , ruft dann die Methode Content(); aus der Klasse auf und replact dies dann mit $Content ( Aus der TPL ).

    Was haltet ihr davon?

    Mfg
    Cristalix
  • Hi,

    Ich habe es nun so gelöst:

    Der RequestHandler prüft ob ein Inhalt in $_GET['page'], $_GET['form'] oder$_GET['action'] ist. Danach wird (z.B bei ?page=Startseite) Lib/Page/StartseitePage.class.php geladen.
    Danach wird diese Klasse aufgerufen, welche die $Content Variabel replact.

    ~siehe unten~

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Cristalix ()

  • Hey zusammen,

    Ich hab doch wieder ein Problem :( Dieses mal liegt es am CacheBuilder oder am Framework, mein Problem:

    Die Klasse 'PBF(ProBoardFramework)' liest alle Werte aus der Datenbank (Tabelle 1_pbb_config), danach werden diese falls noch nicht gecacht.
    Das Problem ist jetzt, dass der Cache beim 2Seiten aufruf einen Leeren Array zurück gibt, was ich mir nicht erklären kann.

    1ter Seitenaufruf:
    Array ( [SiteTitle] => GFXLer [Slogan] => best gfx in web ) <- OK Der Cache geht (1 seiten aufruf)

    2ter Seitenaufruf:

    Array ( )
    Notice: Undefined variable: Row in /home/www/web396/html/ProBoardForum/PBF/PBF.class.php on line 159

    Ausschnitt 'PBF.class.php':

    Quellcode

    1. /**
    2. * @name Config
    3. * @param string $Name
    4. * @access static public
    5. * @return string
    6. */
    7. static public function Config($Name) {
    8. if (PBF::Cache()->IsCached('config-values.php')) {
    9. require_once(PBF_PATH.'Cache/config-values.php');
    10. print_r($Row ? $Row : 'Array ( )'); // <- debug ->
    11. return $Row[$Name];
    12. } else {
    13. $Data = array();
    14. $Query = PBF::SQL()->SendQuery("SELECT * FROM `".self::$DBPrefix."pbb_config`");
    15. while ($Row = PBF::SQL()->FetchArray($Query)) {
    16. $Data[$Row['ConfigName']] = $Row['ConfigValue'];
    17. }
    18. PBF::SQL()->FreeResult($Query);
    19. PBF::Cache()->NewCache('config-values.php', $Data);
    20. return $Data[$Name];
    21. }
    22. }
    Alles anzeigen


    CacheDatei:

    PHP-Quellcode

    1. <?php $Row = unserialize('a:2:{s:9:"SiteTitle";s:6:"GFXLer";s:6:"Slogan";s:15:"best gfx in web";}'); ?>


    Könnte mir da jemand helfen? Ich steh echt aufm 'Schlauch'. Danke

    mfg
    Cristalix
  • das verstößt aber klar gegen das Geheimniskeitsprinzip.

    Warum weißt du denn das der Pfad zum Cache so lautet?

    besser wäre:

    Quellcode

    1. if (PBF::Cache()->IsCached('config-values.php')) {
    2. PBF::Cache()->loadCache('config-values.php')


    Hilft dir jetzt nicht beim Finden des Fehlers..
    lass dir einfach mal mit file_get_contents den wirklichen Inhalt ausgeben.