klaus: Software-Design PHP

Hallo Forengemeinde

PHP ist ja ganz unkompliziert und produktiv, wenn man mal ein kleines Skript braucht. Sobald ich allerdings grössere Projekte entwickle, artet das immer in einem riesigen Chaos aus, was mir bei anderen Programmiersprachen in viel, viel geringerem Masse passiert.

Was ich bisher imho noch nie gut gelöst habe ist beispielsweise Login oder Dialoge, die über mehrere Seitenaufrufe laufen. In beiden Fällen muss ja ein Zustand mitgetragen werden.

Nun, wie baut man vernünftige Sotware in PHP? Mich würde es interessieren, wie ihr die Grundstruktur eures Skripts aufbaut bei grösseren Projekten.

Es grüsst klaus.

  1. Moin!

    Nun, wie baut man vernünftige Sotware in PHP? Mich würde es interessieren, wie ihr die Grundstruktur eures Skripts aufbaut bei grösseren Projekten.

    Ich habe eine gewisse Menge an Standard-Funktionen, welche ich immer wieder verwende.

    Was ich bisher imho noch nie gut gelöst habe ist beispielsweise Login oder Dialoge, die über mehrere Seitenaufrufe laufen.

    Das "Problem" löst nun wirklich - und zwar einfach und schnell - eine Session.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix

  2. Nun, wie baut man vernünftige Sotware in PHP? Mich würde es interessieren, wie ihr die Grundstruktur eures Skripts aufbaut bei grösseren Projekten.

    Es grüsst klaus.

    Schau dir mal das Tutorial an: klick

    Gruss
    Matthias

  3. Hallo,

    Nun, wie baut man vernünftige Sotware in PHP? Mich würde es interessieren, wie ihr die Grundstruktur eures Skripts aufbaut bei grösseren Projekten.

    Es ist z.b. immer ganz nützlich, die Software in mehrere Schichten zu teilen - wie viele hängt von der konkreten Anwendung und deren Komplexität ab.
    Das offensichtlichste ist z.b. eine Datenbankschicht: Eine Sammlung an Datenbank-Klassen, die sämtliche Datenbank-Aufrufe kappseln, sowie Daten-Zugriffs-Objekte (DAOs).
    Bei sehr komplexen Anwendungen kann es sich auch lohnen, die Datenbank-Schicht nicht komplett selbst zu programmieren, sondern einen OR-Mapper zu verwenden.

    Vielleicht solltest Du Dich auch mal mit Software-Entwurfsmustern beschäftigen, für den Anfang vor allem mit Model View Controller. Hierbei wird für das Datenmodell, die Programmlogik und die Darstellung jeweils eine eigene Schicht benutzt, die vollkommen unabhängig von den beiden anderen arbeitet.
    Nicht immer machen diese drei Schichten in exakt dieser Form Sinn, weswegen es auch Abwandlungen gibt. Aber sie bieten eine gute Orientierung, wie man da herangehen könnte.

    Es gibt auch Frameworks, die diese Schichtentrennung bereits von sich aus vorsehen, wo Du sie also nicht selbst programmieren musst. Als populärstes Beispiel sei hier Zend genannt.

    Hope that helps,

    Jörg