PHP-Projekt mit exzellentem OOP-Design für Studienzwecke

8

Ich habe vor kurzem Interesse an einem korrekten OOP-Design in Web-Anwendungen geweckt. Ich denke, ich verstehe die meisten Prinzipien und Designmuster, aber manchmal habe ich Probleme damit, sie in die Praxis umzusetzen.

Ich benutze MVC und ich denke, ich bin in der Lage, Controller und Ansichten in OOP-Art zu entwerfen. Das Problem, mit dem ich konfrontiert bin, ist mit Modellen. Ich bin besessen von der Abhängigkeitsinjektion und der Inversion der Kontrolle im Allgemeinen. Es funktioniert gut in kleinen Beispielen, aber ich habe Schwierigkeiten, komplexe mehrschichtige Modelle zu entwerfen - ich denke über verschiedene Möglichkeiten nach, Abhängigkeiten in untere Ebenen usw. zu injizieren.

Also beschloss ich, nach Projekten zu suchen, die von erfahreneren OOP-Programmierern gemacht wurden, die ich studieren konnte. Ich suche PHP-Web-Anwendung, vorzugsweise mit MVC-Architektur-Muster. Es macht mir auch nichts aus, wenn es ein anämisches Modell hat (das normalerweise als Antipattern angesehen wird, aber in schweren datenbasierten Anwendungen bin ich oft gezwungen, anämische Modelle zu verwenden).

Vielen Dank.

EDIT: Ich suche kein Framework, sondern eine komplette Anwendung. Frameworks haben normalerweise nicht viel mit Modellarchitektur zu tun.

    
Tomik 31.08.2010, 20:44
quelle

7 Antworten

1

Magento Commerce hat komplexe mehrschichtige Modelle (www.magentocommerce.com), von denen Sie ein oder zwei Tricks abholen können.

Aber meine (persönliche) Erfahrung mit Magento war frustrierend: Ich hackte mit der Version 0.8-1.1 herum und es erschien überentwickelt und schlecht dokumentiert. Der Versuch, herauszufinden, wie es wirklich funktionierte, war komplex: Sie würden am Ende viele Dateien öffnen, die in Ihrem Editor geöffnet waren, die meisten von ihnen als Abstract.php bezeichnet. Hoffentlich haben sich die Dinge seitdem sehr verbessert.

    
Steve 31.08.2010, 21:53
quelle
4

Code-Zünder ist php4, ich empfehle es nicht zu viel. PHP OOP hat sich seitdem geändert. Eine bessere Idee wäre kohana

Ich habe viel gelernt, indem ich auscheckte. Der Ersteller ist zu SO auch halbaktiv =)

    
Galen 31.08.2010 21:05
quelle
1

Ich empfehle Ihnen, sich Symfony 2 anzusehen.

Es ist wahrscheinlich das am besten gestaltete PHP-Projekt, das Sie finden werden. Es ist SOLID , DRY und verwendet gegebenenfalls Muster.

    
Magnus Nordlander 03.09.2010 07:48
quelle
1

Was genau ist das Problem, mit dem Sie sich bei "Models" konfrontiert sehen? Sie sprechen über Dependency Injection, aber das hat nichts mit dem Konzept eines "Modells" im MVC-Kontext zu tun. Wenn Sie nach Beispielen für die Verwaltung und Übergabe von Abhängigkeiten in Objekthierarchien suchen, sollten Sie sich die Dependency-Injection-Container-Implementierung von Symfony 2.0 ansehen.

    
rr. 03.09.2010 08:06
quelle
0

Ich empfehle die CodeIgniter from scratch-Serie auf Nettuts +.

Ссылка

BEARBEITEN: @Galen

Das ist nicht korrekt. CodeIgniter unterstützt PHP 5.3.0 seit Version 1.7.2.

    
Octavian Damiean 31.08.2010 21:01
quelle
0

Wenn Sie nach "exzellentem OOP-Design" suchen, schauen Sie wahrscheinlich in die falsche Ecke. PHP ist nicht sehr stark bei seinen OOP-Mustern. Wenn es Ihr Studium und Ihre Situation erlauben, empfehle ich Ihnen, stattdessen in ein Java-Projekt zu schauen.

    
schuilr 31.08.2010 22:50
quelle
-1

Das CodeIgniter-Framework kommt mir als anständige Studienquelle in den Sinn

    
Dan 31.08.2010 20:57
quelle