kompetentes Webentwicklungsforum gesucht
-
Ich habe vor mich nach C++ auch mit der Webentwicklung zu beschäftigen, da der Bereich ja in den letzten 10 Jahren extrem gewachsen ist und ein Browser im Gegensatz zu einem bestimmten OS selbst Billighandys haben. Kurz gesagt, ich will nur noch fürs Web programmieren und will dort mit PHP 5.3 insbesondere Enterprise Design Pattern per OOP anfangen.
Kennt wer ein ähnlich kompetentes Forum für das Web wie es dieses hier für C++ ist?
-
Im Bereich PHP wirst du allgemein eine große Schar an Scriptern finden die wenig Ahnung von der Materie haben, aber versuch's Mal bei http://phpforum.de/forum/
Lustig ist imho auch der Weg "PHP und Enterprise Design Patterns per OOP"
MfG SideWinder
-
Danke für den Link, ich habe hier dieses Buch http://www.oreilly.de/catalog/phpdesignpat2ger/index.html und man kann mittlerweile in PHP recht ordentlich OOP programmieren was natürlich viele Leute nicht wissen oder nicht wissen wollen, weil sie mal eben was hinrotzen wollen ohne sich dabei mit Softwarearchitektur auseinander zu setzen.
Ich möchte da schon in mehreren Schichten programmieren und auch versuchen die Schichten so gut es geht getrennt zu lassen.
hier mal das Inhaltsverzeichnis falls jemand Interesse hat:
1 Schöne neue Welt: Objektorientierte Programmierung in PHP 5 . . . . . . . . . . . . . . 1 Für Ungeduldige: Neue Features in PHP 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Klassen, Interfaces und Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Namespaces in PHP 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Lambda-Funktionen und Closures in PHP 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . 43 Interzeptor-Methoden in PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Fehlerbehandlung mit Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2 Die Standard PHP Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Wenn Objekte sich wie Arrays verhalten – Das ArrayAccess-Interface . . . . . . 76 Objekte in foreach-Schleifen verwenden – Das Iterator-Interface . . . . . . . . . . 80 Vordefinierte Exceptions der SPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Autoloading mit der SPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Nützliche Funktionen der SPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Strikte Typisierung mit der SPL_Types-Erweiterung . . . . . . . . . . . . . . . . . . . . 102 3 Gutes Software-Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Regeln des Software-Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Elegante APIs mit Fluent Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Dependency Injection und Inversion of Control . . . . . . . . . . . . . . . . . . . . . . . 137 Softwareentwicklung mit Design Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 UML – Die Unified Modeling Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 4 Erzeugungsmuster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Das Singleton-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Das Factory-Method-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Das Abstract-Factory-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Das Prototype-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Übersicht über die Erzeugungsmuster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 VI | Inhalt 5 Strukturmuster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Das Composite-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Das Adapter-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Das Decorator-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Das Proxy-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Das Facade-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Das Flyweight-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Übersicht über die Strukturmuster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 6 Verhaltensmuster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Das Subject/Observer-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Das Template-Method-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Das Command-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Das Visitor-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Das Iterator-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Das State-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Das Chain-of-Responsibility-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Übersicht über die Verhaltensmuster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 7 Enterprise-Patterns: Datenschicht und Business-Logik . . . . . . . . . . . . . . . . . . . . . 351 Schichten einer Applikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Patterns der Datenschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 Das Row-Data-Gateway-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 Das Active-Record-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Das Identity-Map-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Das Data-Mapper-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Intermezzo: Das Registry-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Patterns der Business-Logik-Schicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Das Domain-Model-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Übersicht über die verwendeten Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 8 Enterprise-Patterns: Die Präsentationsschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 Patterns der Command-Control-Schicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 Das Front-Controller-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 Das Intercepting-Filter-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 Intermezzo: Das Event-Dispatcher-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 Patterns der View-Schicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 Das Template-View-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 Das View-Helper-Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 Übersicht über die verwendeten Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 A Installation von PEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
-
Kapitel 1 & 2 sind es sicher mal Wert überflogen zu werden, der Rest sieht mir nach einer 1:1 Kopie des GoF-Buches aus + dem Buch Enterprise Patterns. Weiß nicht wie speziell das jetzt auf PHP angepasst wurde um sinnvoll zu sein, bzw. falls du die erstgenannten Bücher ohnehin noch nicht gelesen hast dann sicher sinnvoll.
MfG SideWinder
-
Ich würde auch sagen dass sich das Inhaltsverzeichnis mehr wie eine Mustersammlung liest, diese lassen sich auch im Web finden. Besser wäre da Literatur die MVC durchkaut und die Umgebung mit beleuchtet (ORM, evtl. Unittesting).
Warum willst Du eigentlich php verwenden? Ich musste mal ein Projekt was in php 5.2 von einem Kollegen erstellt war fortführen und fand php's Typenschwäche für Enterprise-Apps als enorm nervend.
-
witte schrieb:
Ich musste mal ein Projekt was in php 5.2 von einem Kollegen erstellt war fortführen und fand php's Typenschwäche für Enterprise-Apps als enorm nervend.
Also man kann PHP viel vorwerfen... aber das?
Ne ne ne.Du kannst typehinting machen wenn du unbedingt willst - aber duck typing ist keine design schwäche sondern eine design entscheidung. und wenn du willst, kannst du typen in php enforcen (warum man das will sei mal dahin gestellt).
-
-
Ähm, ich wollte hier keinen Diskussion über PHP anregen
Falls es interessiert ich habe mich für PHP entschieden weil es extrem weit verbreitet ist und ich male mir aus auch mal später vielleicht den einen oder anderen Euro damit zu verdienen. Das bedeutet natürlich nicht dass ich nicht auch in Python, Ruby usw. reinschnuppern werde. Javascript werde ich mir mal etwas näher anschauen da ich hier, aufgrund von RIA und HTML5, eine große Zukunft sehe.
Nun habe ich mich erst einmal für PHP entschieden und würde mich freuen wenn die Beträge wieder in Richtung kompetenter Web-Foren, -Blogs etc gehen würde. Mir geht es hier nicht um die Suchergebnisse von Google sondern um persönliche Bewertung der einzelnen User hier, denn googlen kann ich selbst auch nur kann ich da nicht wirklich schnell einschätzen wie die Qualität der Plattformen ist.
Danke für eure Zeit...
-
ists nicht gleich mit was man programmiert? wer dann natürlich eine "lowlevel" sprache kennt, kann sich eher vorstellen wie die scriptsprachen intern arbeiten. daher sollte man wenn man gutes fleisch will nicht zum metzger sondern zum bauern gehen!