ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
388
388
EMPFEHLEN
-
29.06.11 14:53 #1
- Registriert seit
- Sep 2005
- Beiträge
- 171
Hallo zusammen,
momentan arbeite ich mich gerade etwas in PHP ein. Der letzte Anlauf dazu liegt schon ein paar Jährchen zurück. Zwischenzeitlich habe mich Java beschäftigt.
Nun mache ich mir seit ein paar Tagen Gedanken darüber, wie ich eine Webanwendung mit PHP objektorientiert umsetze. Also wie das ganze organisiert wird.
Kennt jemand evtl. ein kleines Projekt, bei dem man den Aufbau einfach nachvollziehen kann?
Vielen Dank
-
29.06.11 14:57 #2
- Registriert seit
- Apr 2009
- Ort
- Düsseldorf (NRW)
- Beiträge
- 508
Da sich schon viele Leute vor dir damit beschäftigt haben, würde ich dir ein MVC-Framework wie Symfony oder das Zend-Framework empfehlen. Mit diesen hast du schon eine gute Basis, um eine OO Anwendung mit PHP zu erstellen. Bei Bedarf kannst du dich aber auch tiefer in die Materie einlesen, indem du dir den Aufbau der Frameworks anschaust.
-
29.06.11 15:06 #3
- Registriert seit
- Sep 2005
- Beiträge
- 171
Vielen Dank für die schnelle Antwort.
Ich würde aber gerne erst einmal ohne Framework arbeiten, da ich ein Verständnis für den Aufbau erhalten möchte und da ich glaube, dass der Einsatz eines Frameworks in manchen Fällen etwas überzogen ist.
Lasse mich aber gerne eines besseren Belehren.
Vielleicht hast Du ja einen anderen Tipp für mich.
-
29.06.11 20:42 #4
- Registriert seit
- May 2007
- Ort
- Dresden (Sachsen)
- Beiträge
- 1.956
MVC ist in jedem Fall das Schlagwort schlechthin. Deshalb hier mal einige Beispiele:
Generelles Routing:
Code PHP:1 2 3 4 5 6 7 8 9 10 11
@list($controller, $action, $other) = explode('/', $_SERVER['QUERY_STRING'], 3); $controller = empty($controller) ? 'Application' : strtoupper($controller); $action = empty($action) ? 'index' : $action; $other = empty($other) ? array() : explode('/', $other); $controller .= 'Controller'; $action = 'Action' . strtoupper($action); $object = new $controller($other); $object->{$action}();
Controller:
Code PHP:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
abstract class AbstractController { protected $params = array(); final public function __construct(array $params) { $this->params = $params; } } class ApplicationController extends AbstractController { } class BlogController extends ApplicationController { public function ActionIndex() { echo 'Indexseite'; } }
Und dann eben in Modellen (Models) die Daten verarbeiten und Views als Templates nutzen.Ich mag:- positive Bewertungen meiner Beiträge
- ein Danke für meine hilfreichen Beiträge
Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX
... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.
-
01.07.11 20:54 #5
- Registriert seit
- Sep 2005
- Beiträge
- 171
N'Abend zusammen,
ich habe die beiden letzten Tage genutzt, um mich ein wenig weiter mit der Materie zu beschäftigen.
Also wenn ich das richtig verstehe, sind diese Frameworks Symfony, Zend, CakePHP, usw. eine Implmentation des MVC-Entwurfsmuster in PHP. Liege ich mit dieser Einschätzung richtig?
Nun hat man die Möglichkeit, das Rad neu zu erfinden (dabei Gleichzeit aber auch zu lernen) und selber ein solches Framework zu erstellen oder man nimmt eines der bestehenden und arbeitet sich ein.
Mein primäres Ziel ist es mit PHP eine Joomla-Erweiterung zu erstellen. Das Joomla-Framework zählt ja auch zu dieser Art von Frameworks, die ich weiter oben beschrieben habe. Ist das korrekt?
Weshalb ich mich wohl dann in erster Linie damit beschäftigen werde.
-
05.07.11 12:06 #6
- Registriert seit
- Sep 2005
- Beiträge
- 171
-
05.07.11 12:32 #7
- Registriert seit
- May 2007
- Ort
- Dresden (Sachsen)
- Beiträge
- 1.956
Also die von dir genannten Frameworks basieren in der Tat auf dem MVC-Pattern, allerdings ist Jommla kein Framework, sondern ein WebCMS. Wenn du genügend Zeit hast, dann solltest du vielleicht selber mal ein MVC-System erstellen. Ansonsten natürlich dir die anderen Frameworks ansehen und rausfinden, wie die das lösen.
Geändert von einfach nur crack (05.07.11 um 17:13 Uhr) Grund: da hat das iPad aus Joomla Klömme gemacht :D
Ich mag:- positive Bewertungen meiner Beiträge
- ein Danke für meine hilfreichen Beiträge
Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX
... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.
-
05.07.11 16:20 #8
- Registriert seit
- Sep 2005
- Beiträge
- 171
Hallo und vielen Dank für deine Antwort.
Mit Klömme meinst du Joomla?
Ja, dass ist ein WebCMS, allerdings gibt es auch ein sog. Joomla-Framework, welches beim Entwickeln von Erweiterungen unterstützen soll.
Irgendwo, leider finde ich das gerade nicht mehr und bin deshalb auch nicht mehr ganz sicher, meine ich, mal gelesen zu haben, dass man dieses Framework auch nutzen kann, um vom CMS losgelöste Webanwendungen zu entwickeln.
Aber lasse mich auch gerne eines besseren belehren.
Deine Anregung selber ein MVC-System zu erstellen hört sich gut an. Meinst du damit ein eigenes Framework, welches das MVC-Pattern implementiert?
Nachtrag: Nun habe ich auch wieder gefunden, wo ich das gelesen habe. Es wurde im Joomla Entwicklerhandbuch geschrieben.
http://books.google.de/books?id=ghPp...mework&f=false
Nachtrag2: Da sucht man tagelang und findet nix vernünftiges. Dann hat man gute 5 Minuten und alle Fragen erledigen sich fast von alleine.
http://www.joomlaportal.de/joomla-er...verwenden.htmlGeändert von illuminatus26 (05.07.11 um 16:34 Uhr) Grund: 2x Link-Nachtrag
Ähnliche Themen
-
Objektorientierte Datenbank
Von baldi im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 10.10.07, 14:41 -
Objektorientierte Programmierung
Von FiselM im Forum JavaAntworten: 6Letzter Beitrag: 13.07.07, 08:36 -
Objektorientierte Spieleprogrammierung in Flash
Von timäää im Forum Flash PlattformAntworten: 26Letzter Beitrag: 31.08.06, 12:08 -
UML und nicht-objektorientierte Sprachen
Von Frankdfe im Forum Coders TalkAntworten: 0Letzter Beitrag: 25.08.05, 14:57





Zitieren


Login





