Delphi-PRAXiS
Seite 7 von 7   « Erste     567   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Klassenstruktur für Adressdatenbank (https://www.delphipraxis.net/166235-%5Bphp%5D-klassenstruktur-fuer-adressdatenbank.html)

Valle 23. Mär 2012 23:49

AW: [PHP] Klassenstruktur für Adressdatenbank
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Luckie,

ich habe jeztt Views, Controller, Routing und Exception Handling für dich. Im Framework wurden einige Stellen geändert. Die genauen Änderungen kannst du sicher selbst über ein diff-Programm herausfinden. Ich könnte jetzt seitenweise Sachen erklären und schreiben, aber ich fasse mich kurz.

Das Routing läuft jetzt anders als du es gewohnt bist. Eine Erklärung habe ich vor 2 Jahren in meinem Blog veröffentlicht. Diese weicht etwas ab von meiner Implementation heute, im Grundsatz ist das aber das gleiche. :)

Die Klassen sind alle sehr kurz und einfach gehalten. Der Quellcode enthält wenig Kommentare, da ich versuche meinen Code so zu schreiben, dass keine Kommentare benötigt werden. Vielleicht arbeitest du dich von "public/index.php" einfach mal durch. In dieser Datei musst du vorher deine MySQL Verbindungsdaten eintragen, außerdem dem absoluten Pfad zum Projektverzeichnis (APPDIR). Stell ruhig Fragen wenn welche entstehen! :-)

Außerdem musst du den URL Präfix ändern. Das ist der Teil vor der URL, der entsteht, wenn diese Webseite nicht direkt unter "/" läuft. Hast du also alles im Ordner "/projects/luckie", dann ist der Präfix "/projects/luckie". Alles was nach dem Präfix kommt ist ja die tatsächliche URL in der Webanwendung. Unter "/projects/luckie/kunde/21" versteht sich ja eigentlich "/kunde/21", daher der Präfix. Wenn das nicht benötigt wird, dann setze den URL Präfix (Die Konstante heißt APPURI) einfach auf Leerstring. Hoffe das ist klar.

Ich find's klasse dass du dir das alles antust. :thumb:

Liebe Grüße,
Valentin

Namenloser 24. Mär 2012 01:01

AW: [PHP] Klassenstruktur für Adressdatenbank
 
Zitat:

Zitat von Valle (Beitrag 1158247)
Das Routing läuft jetzt anders als du es gewohnt bist. Eine Erklärung habe ich vor 2 Jahren in meinem Blog veröffentlicht.

So ähnlich mache ich es in dem kleinen CMS, das ich schreibe, auch. Allerdings bin ich gar nicht drauf gekommen, dass man direkt benannte Sub-Patterns für die Parameter-Zuordnung verwenden kann. Was ich bisher mache, ist etwas komplizierter; und zwar habe ich eine eigene kleine Syntax entworfen, die dann in PREG „kompiliert“ wird. Ein Mapping sieht in dieser Syntax z.B. so aus:
Code:
PrettyUrlParser::$mappings = array(
    'blog/tags/{tag}/{page!}'              => 'BlogOverview',
    'blog/tags/{tag}'                      => 'BlogOverview',

    'blog/page/{page!}'                    => 'BlogOverview',
    'blog/'                                => 'BlogOverview',
    'blog'                                 => 'BlogOverview',

    'blog/{id}-{name!}'                    => 'BlogSingle',
    'blog/{id}'                            => 'BlogSingle'
);
Wobei das Ausrufezeichen bedeutet, dass an der Stelle kein leerer Ausdruck zugelassen ist.

Einen Vorteil hat das ganze allerdings, nämlich funktioniert das ganze auch sehr leicht rückwärts – ich kann einfach ein Parameter=>Wert-Array automatisch in die dafür konfigurierte URL umwandeln. Wobei das mit der benannten Regex-Syntax sicherlich auch ginge, nur wäre der Parser dann wohl etwas komplexer...

Fazit: Immer wieder schön zu sehen, dass es verschiedene Wege gibt, die zum Ziel führen :wink:

Luckie 24. Mär 2012 01:59

AW: [PHP] Klassenstruktur für Adressdatenbank
 
Ui, da muss ich mich jetzt aber mal durchwuseln.Und ich wollte doch nur meine private Adressdatenbank etwas aufhübschen im Code. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:02 Uhr.
Seite 7 von 7   « Erste     567   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz