php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.10.2010, 21:50  
Benutzer
 
Registriert seit: 18.06.2009
Beiträge: 42
PHP-Kenntnisse:
Fortgeschritten
Leichti befindet sich auf einem aufstrebenden Ast
Standard MVC - Passt das so?

Arbeite derzeit das Buch "PHP Design Patterns" von Stephan Schmid durch. Nun bin ich beim Kapitel MVC angelangt, habe mit Hilfe des Buches ein kleines Design Patterns (Front Controller) (ab)geschrieben.
Jetzt wollte ich euch mal fragen was ihr von diesem CommandResolver haltet? Ist es sinnvoll diesen so zu nutzen? Für jede aktion einer Applikation eine eigene Command class/datei zu nutzen? Hier kommt man ja sehr schnell auf mehrere hunderte oder mehr Datein.

Wie könnte man das anders/eleganter lösen?

Noch eine Frage:
Welche Klasse ist in diesem Beispiel nun eigentlich der Controller? Das ganze Beispiel? Oder die CommandResolver implementation?

Tut mir leid euch hier mit solchen Fragen zu nerven.

Ps:
Mir ist klar, dass hier noch eine Template Klasse fehlt, jedoch geht es mir hier in erster Linie darum, wie der Controller/Resolver am besten die Commands aufrufen sollte.

mfg Leichti
Angehängte Dateien
Dateityp: zip ModelViewController.zip (6,0 KB, 33x aufgerufen)
Leichti ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.10.2010, 01:00  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Ist es sinnvoll diesen so zu nutzen?
Ich frag mich, was solche Fragen immer sollen. Das Buch wurde sicher nicht grundlos geschrieben, genauso das Pattern nicht grundlos erfunden. Hier wirst Du ein paar Pro und ein paar Contra-Stimmer erhalten. Also, wozu die Frage?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 03.10.2010, 01:14  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

-> http://martinfowler.com/eaaCatalog/frontController.html
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 03.10.2010, 08:58  
Benutzer
 
Registriert seit: 18.06.2009
Beiträge: 42
PHP-Kenntnisse:
Fortgeschritten
Leichti befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Ich frag mich, was solche Fragen immer sollen. Das Buch wurde sicher nicht grundlos geschrieben, genauso das Pattern nicht grundlos erfunden. Hier wirst Du ein paar Pro und ein paar Contra-Stimmer erhalten. Also, wozu die Frage?
Wird es in der Praxis ebenfalls so verwendet? Wie werden die commands alternativ angesprochen? Gibt es irgendwo kleine Code Beispiele (In PHP)?

Es ist für mich wirklich schwierig in dieses Thema zu finden, ich war der Hoffnung hier etwas Hilfe zu bekommen..
Leichti ist offline   Mit Zitat antworten
Alt 04.10.2010, 09:10  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.167
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Du bist mit dem cmd-Parameter auf eine Dimension beschränkt, was ohne mapping ziemlich schnell in eine Sackgasse führt.

EDIT: Das Autloading mit den verschiedenen Pfaden und der Schleife ist ganz schlecht - Viel zu langsam. Stell Dir mal vor, Du kriegst noch zig Pfade mit Klassen (Models, etc.) dazu. Dann wird das immer lahmer..

Vielen gefällt es zwar nicht, aber ich würde die Klassen entsprechend der Verzeichnisstruktur abbilden, da man damit ein generisches Konzept hat. Wenn Du Namespaces benutzt, könntest Du auch diese krüppeligen Klassennamen wie "Source_MVC_Commands_Command_..." vermeiden..

Geändert von xm22 (04.10.2010 um 09:53 Uhr).
xm22 ist offline   Mit Zitat antworten
Alt 05.10.2010, 18:43  
Benutzer
 
Registriert seit: 18.06.2009
Beiträge: 42
PHP-Kenntnisse:
Fortgeschritten
Leichti befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Du bist mit dem cmd-Parameter auf eine Dimension beschränkt, was ohne mapping ziemlich schnell in eine Sackgasse führt.
In wie weit meinst du das? Hast du dafür ein Beispiel?

Zitat:
EDIT: Das Autloading mit den verschiedenen Pfaden und der Schleife ist ganz schlecht - Viel zu langsam. Stell Dir mal vor, Du kriegst noch zig Pfade mit Klassen (Models, etc.) dazu. Dann wird das immer lahmer..
Da dürftest du wohl leider recht haben, allerdings ist das anders ziemlich schwierig zu lösen?

PHP-Code:
Vielen gefällt es zwar nichtaber ich würde die Klassen entsprechend der Verzeichnisstruktur abbildenda man damit ein generisches Konzept hatWenn Du Namespaces benutztkönntest Du auch diese krüppeligen Klassennamen wie "Source_MVC_Commands_Command_..." vermeiden.. 
Ok, ich glaube ich verstehe, also Beispielsweise Source_MVC_Commands_Guestbook_NewEntry? Mit Namespaces wäre es dann wohl:
PHP-Code:
namespace MVCCommandsGuestbook;
class 
NewEntry
{

Verstehe ich das richtig?

Nur einen wirklichen Vorteil gegenüber der aktuellen Version hab ich ja nicht wirklich oder? Eine etwas besser aufgeteilte Struktur sonst kann ich nicht wirklich was erkennen.


Vielen Dank schonmal für deine Hilfe!
Leichti ist offline   Mit Zitat antworten
Alt 05.10.2010, 19:37  
Erfahrener Benutzer
 
Benutzerbild von splasch
 
Registriert seit: 05.01.2009
Beiträge: 474
PHP-Kenntnisse:
Fortgeschritten
splasch kann nur auf Besserung hoffen
Standard

Warum schauts dir nicht einfach an wie es andere Frameworks gelöst haben?

Ein gutes kleines und schnelles Framework findest unter Kohana 3

Mfg.
splasch ist offline   Mit Zitat antworten
Alt 05.10.2010, 20:09  
Benutzer
 
Registriert seit: 18.06.2009
Beiträge: 42
PHP-Kenntnisse:
Fortgeschritten
Leichti befindet sich auf einem aufstrebenden Ast
Standard

Hatte bereits versucht WACP und Symfony anzuschauen. War für mich aber leider nicht wirklich überschaubar. Kohana 3 werde ich mir anschauen, danke für den Tipp!
Leichti ist offline   Mit Zitat antworten
Alt 05.10.2010, 22:53  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Sofern du eine Front-Controller-Implementierung mit der Möglichkeit suchst, mehrere Actions/Commands ausführen zu können um nicht in der von xm22 beschriebenen Sackgasse zu landen, lohnt es sich für dich sicher, auch APF anzusehen. Das APF bietet dir neben dem Front-Controller noch eine sehr flexible Implementierung des Page-Controller-Pattern, das dich dabei unterstützt, Anwendungen maximal wiederverwendbar auszulegen. (H)MVC wird dir dabei quasi "geschenkt".
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-fortgeschrittene/72458-mvc-passt-das-so.html, lohnt mvc in php, php mvc where to put zip class, mvc, php mvc frontcontroller, mvc frontcontroller php, php: kleines mvc, php design patterns buch mvc, controller resolver php, php kleines mvc, sicheres mvc php, mvc dir, kohana3 front controller, kleines mvc php, h)mvc php, front controller mvc, apf php lohnt, php mvc h pattern

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum