Genealogie: Code-Struktur/Applikationsschicht
Allgemeines: Die Applikationsschicht ist eng verbunden mit der Darstellungsschicht. Unter zu Hilfenahme der Datenstrukturschicht (die ihre Daten mittels der Datenbankschicht bezieht) bestimmt die Applikationsschicht das Verhalten und die Werte der Darstellungsschicht. Die Darstellungsschicht ist somit frei jedlicher Applications-Logic. Sie kann sich so auf Darstellung und Layout beschränken. Logic und PHP-Code befinden sich ausschließlich in der Applikationsschicht. In der Darstellungsschicht finden sich lediglich Code-Schnipsel zur Anzeige der aufgearbeiteten Werte. Es gilt also die Aufteilung:

Applikationsschicht  :  PHP-Code und Application-Logic
Darstellungsschicht  :  HTML-Code mit PHP-Schnipseln zur Datenanzeige
Verzeichnis: Der Code der Applikationschicht befindet sich im Verzeichnis: Genealogie\Application\. Alle PHP-Scripts wurden in eigene Files (nach dem Muster *.inc.php) angelegt.
Aufbau: PHP-Scripts der Applikationschicht sind im Grunde nach dem gleichen, im folgenden dargestellten Muster aufgebaut:

 
<?php

      try
      {
             $Session = new CSession($_SERVER["QUERY_STRING"]);

             $Action = "Show";
             $Message = "";

             if ($Session->getPermission("Permission for this Site"))
             {
                    $Action = "Message";
                    $Message = "You have not the permissions for this Site";
             }
             else
             {

                        .
                        .
                        .

                    if (isset($_GET["Action"]))
                    {
                           $Action = $_GET["Action"];
                    }

                    // Execute
                    switch ($Action)
                    {
                           case "Show":
                                  break;
                           case "UserAction":

                                      .
                                      .
                                      .

                                  break;

                               .
                               .
                               .

                    }
             }
      }
      catch (CDBException $DBException)
      {
             $Action = "Message";
             $Message = "Error: ".$DBException->getErrorMessage()."<br>DB: ".$DBException->->getDBMessage();
      }
?>

 

.:  :.