PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Aufbau einer Website mit OOP (https://www.php-resource.de/forum/php-developer-forum/98137-aufbau-einer-website-mit-oop.html)

TheYves 24-11-2009 16:08

Aufbau einer Website mit OOP
 
Hallo allerseits.

Ich bin seit einigen Jahren als Coldfusion-Entwickler tätig und möchte mal wieder einen kleinen Abstecher in die Welt von PHP machen. Meine ersten Begegnungen mit PHP liegen ein paar Jahre zurück und sind daher sicherlich nicht mehr auf dem aktuellsten Stand. Mittlerweile habe ich mich auch über die Möglichkeiten von OOP in PHP informiert und bereits erste Klassen geschrieben, was wunderbar funktioniert.

Was ich mich aber frage ist, wie wohl ein sauberer Aufbau bei einem grösseren Projekt aussehen mag. Hat mir hier jemand Tipps? Wie sieht das Error-Handling aus? Habt ihr eine eigen Klasse für Module und Datenbankabfragen? Aber vor allem: wie werden die einzelnen Module/Klassen aufgerufen?

Danke vielmals für Eure Hilfe.

Gruss
TheYves

PS: Hoffentlich habe ich die richtige Forumrubrik gewählt...

AmicaNoctis 24-11-2009 16:15

Bei größeren Projekten fährt man mit dem MVC-Pattern am besten. Für Datenbanken nehme ich eigene Abstraktionsklassen zur Hand, die von PDO abgeleitet sind und noch ein bisschen Zusatzfunktionalität für Fremdschlüssel und ein paar Convenience-Methoden hinzufügen. Das Error-Handling läuft komplett über Exceptions (auch PHP-Fehler und Warnungen werden in Exceptions umgewandelt).

Aufgerufen wird bei mir alles vom Controller. Der selbst wird vom einzigen Nicht-OO-Skript aus instanziiert, welches per mod_rewrite als Catch-All-Resource realisiert ist.

unset 24-11-2009 16:16

Eigentlich kann man dir nur ein Stichwort nennen, wenn man nicht alles zum tausendsten mal wiederholen will: Design Pattern! Das beantwortet all deine Fragen :-)

TheYves 25-11-2009 13:01

Danke für Eure Hilfe.

Das MVC-Pattern sieht für mich nach dem aus, wonach ich gesucht habe. Werde mich da mal reinlesen.

Gruss
TheYves

fireweasel 26-11-2009 00:25

Zitat:

Zitat von TheYves (Beitrag 629915)
Danke für Eure Hilfe.

Das MVC-Pattern sieht für mich nach dem aus, wonach ich gesucht habe. Werde mich da mal reinlesen.

(Immer noch) Ein guter Einstieg: The no-framework PHP MVC framework von Rasmus Lerdorf.

TheYves 30-11-2009 12:22

Habe mir am Samstag dieses Buch gekauft: PHP Design Patterns (Deutsche Ausgabe): Amazon.de: Stephan Schmidt: Bücher

Habe jetzt angefangen mich von vorne nach hinten durchzulesen, macht mir einen guten Eindruck dieses Buch.

unset 30-11-2009 12:41

Wenn man keine oder kaum PHP bzw. OOP-Kenntnisse hat, ist das bestimmt eine gute Wahl. Hat man das Kozept von OOP mal begriffen, greift man auch öfter mal zu Lektüre, die nicht auf eine Sprache gemünzt ist, bzw. lediglich exemplarisch nutzt.

Weiterführend möchte ich empfehlen (findet sich alles bei Amazon, da aber recht teuer, sollte man auch die Gebrauchtangebote beachten):
- Design Patterns. Elements of Reusable Object-Oriented Software
- Patterns of Enterprise Application Architecture
- Prefactoring: Extreme Abstraction, Extreme Separation

Gelesen und kapiert kommt es nur noch selten vor, dass man große und kleine Design Schnitzer in seinen Applikationen verbaut – tatsächlich gefeit ist man natürlich nie.

rossixx 01-12-2009 14:09

Grundbausteine Grundgerüst
 
da ich auch immer wieder gern einen bogen um oop mache,
nur 20% meiner skripte basieren auf klassen.

bin ich trotzdem geneigt weiter einzusteigen, leider fehlt mir das grundverständnis

bzw. vielleicht besser ausgedrückt, wie man z.b. einen fundament legt.

als beispiel in meiner arbeitsweise sieht meine loginroutine so aus:

login.php nimmt die daten an,
sind daten vorhaden läd sich das skript selbst und bindet eine session.php mit ein,
die daten werden an verschiedene funktionen weitergereicht,
login, access_level, create_session, speicher_session etc.

ist das alles ohne fehler gelaufen kommt der user auf eine start.php ....


so und jetzt meine frage:

wie baut man das mit klassen???

bzw. um genauer zu sein wie würde das mit dem MVC-Pattern aussehen ???

combie 01-12-2009 14:30

Zitat:

wie baut man das mit klassen???
Ganz einfach?

Nagut...
In der Regel läuft das dann alles über eine zentrale index.php

Die könnte dann z.B so aussehen:
PHP-Code:

require_once "./Config/Application.php";

$Application = new Application;
$Application->run(); 

Fertig, das wars.

Die Application startet einen Dispatcher, welcher den Request analysiert. Diese Dispatcher deligiert den weiteren Ablauf an einen Controller. Dieser wiederum diskutiert mit dem (Login)Modell oder auch anderen Modellen. Auch wählt er die nötige View aus und überreicht ihr die Daten.

*grob vereinfacht*

unset 01-12-2009 14:37

Bei den ganzen Literatur- und Onlinetipps, ist es eigentlich eine Frechheit, nochmals danach zu fragen!

wono 01-12-2009 18:06

Zitat:

Zitat von unset (Beitrag 630288)
Bei den ganzen Literatur- und Onlinetipps, ist es eigentlich eine Frechheit, nochmals danach zu fragen!

Dafür gibt es doch so ein Forum oder??

unset 01-12-2009 18:13

Zitat:

Zitat von wono (Beitrag 630312)
Dafür gibt es doch so ein Forum oder??

Nein. Das Forum dient der Hilfestellung zur Selbsthilfe. Und wenn man alle Informationen sortiert und bewertet geliefert bekommt, kann man sich auch mal hinsetzen und das lesen, bevor man weint, dass man keine Ahnung hat (und –*und das ist nun eine unterstellung –*man zu faul ist, sich selbst was zu erarbeiten).


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:22 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG