php.de

Zurück   php.de > Webentwicklung > Software-Design

Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.01.2011, 12:16  
Erfahrener Benutzer
 
Registriert seit: 25.05.2010
Beiträge: 852
PHP-Kenntnisse:
Anfänger
Trainmaster wird schon bald berühmt werden
Standard

Zitat:
Zitat von Chriz Beitrag anzeigen
Ist ja egal wie das aussieht, aber dann verlagerst du wieder (zumindest etwas) Logik ins .htaccess, was ich persönlich nicht so prickelnd finde.
Das stimmt allerdings, daran habe ich nicht gedacht.

Zitat:
Zitat von Chriz Beitrag anzeigen
Starr ist allerdings, da hast du Recht die Struktur: Modul, Controller, Action. Mehr Tiefe gibt es nicht. Zumindest nicht beim MVC.
Das ist ja, gelinde gesagt, ziemlich hässlich. Was ist, wenn doch mehr Tiefe benötigt wird? Mit solch einem Problem wird der ein oder andere bereits konfrontiert gewesen sein.

Zitat:
Zitat von Chriz Beitrag anzeigen
Redest du jetzt von Modulen oder allgemein einem Action-Stack?
Ich rede davon, dass gemäß der Struktur angenommen wird, dass "list" als eine Action zu werten ist. Dennoch könnte "list" gleichermaßen ein Controller sein. Mit dieser starren Struktur "modul -> controller -> action" werde ich nicht warm. Ich denke stets an Fälle wie "modul -> controller -> weiterer controller -> action". Aber vielleicht habe ich auch einen gewaltigen Denkfehler. Ich könnte theoretisch folgendes Gebilde entwickelen "Modul -> Controller -> Action -> Controller -> Action". Sozusagen die Action eines Controllers dazu verwenden, einen weiteren Controller zu laden. Damit kann ich mir recht einfach mehr Tiefe verschaffen? Jetzt bin ich endgültig verwirrt

Zitat:
Zitat von Chriz Beitrag anzeigen
Na dann klemmst du im Router eben eine Übersetzungsroutine ein, die aus "anzeigen" eben ein "list" macht und schon trifft die Route wieder.
Das ist wohl das erste, was ich erledigen muss. Gibt es dazu empfehlenswerte Vorgehensweisen?

Zitat:
Zitat von Chriz Beitrag anzeigen
Warum, die listAction() kann doch durchaus weitere Controller-Actions aufrufen oder in den Stack legen.
Mir geht es nicht darum, weitere Controller-Actions aufzurufen, sondern einen weiteren Controller.
Trainmaster ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 05.01.2011, 14:16  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.269
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Also die fehlende Tiefe bei MVC finde ich auch nachteilig, da geb ich dir Recht. HMVC heißt das andere Pattern, dass wohl etwas flexibler ist. Habe damit allerdings keine Erfahrung gemacht, über die Forensuche findest du bestimmt einige Diskussionen dazu, falls du es noch nicht kennst.

Zitat:
Mir geht es nicht darum, weitere Controller-Actions aufzurufen, sondern einen weiteren Controller.
Dann haben wir beide aber ein unterschiedliches Verständnis eines Controllers, denn einen Controller ohne Action aufzurufen macht keinen Sinn, es sei denn er führt intitial bereits Aktionen durch. Dann ist es aber kein Controller mehr. Ist zumindest mein Verständnis von der Materie. Oder habe ich dich falsch verstanden?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 05.01.2011, 16:05  
Erfahrener Benutzer
 
Registriert seit: 25.05.2010
Beiträge: 852
PHP-Kenntnisse:
Anfänger
Trainmaster wird schon bald berühmt werden
Standard

Das rührt daher, dass meine Controller bereits im Konstruktur anhand der Request-Parameter die entsprechenden Aktionen ausführen. Dass ich mich davon verabschieden möchte, habe ich hoffentlich zu verstehen gegeben.

Eine abschließende Frage: Gibt es bewährte Verfahren, einem Router Mehrsprachigkeit beizubringen. Die Übersetzungen in einer Datenbank zu speichern, halte ich für ungeschickt. Schließlich sollte das Ganze gleichermaßen ohne Datenbank funktionieren. Ich dachte bspw. an XML-Sprachdateien. Wäre das ein geeigneter Weg?

Das HMVC-Pattern scheint wohl das von mir gesuchte Entwurfsmuster zu sein. Auch wenn mir noch einige Dinge unklar sind, selbst nach stundenlanger Lektüre zahlreicher Forenbeiträge, werde ich einen Versuch starten. Wahrscheinlich endet dass in einem kunterbunten-Mischmasch an verschiedenen Entwurfsmustern. Achja, dr.e., ich weiß deinen Hinweis zu schätzen, dass das APF für mich hilfreich wäre
Trainmaster ist offline   Mit Zitat antworten
Alt 05.01.2011, 17:06  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Wie wäre es mal wenn du dir einfach mal MVC und Router in der Praxis in einigen Frameworks anschaust ? Von Quellcode kann man oftmals was lernen, seien es was für Features es gibt, wie man es implementieren kann, etc.

Apf, Zend, Symfony, .... dort siehst du wie sowas in der praxis umgesetzt werden kann, was für Features geboten werden.

Da routen ja auch meistens nichts sind was sich täglich ändern, lassen sich solche daten auch für den Produktiv-betrieb cachen (php-datei, apc, memcache, .... ) sprich ob die ursprungsdaten in einer datenbank oder datei (xml, json, ini, yml, php, .... ) liegen ist dann egal für die performance.
robo47 ist offline   Mit Zitat antworten
Alt 05.01.2011, 17:58  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.994
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

Ich finde die Switch-Variante jetzt nicht soo schlecht. Damit bist Du weitmöglichst flexibel. Du könntest jetzt einen abstrakten Controller schreiben, der Dir für 0815-Module die Funktionalität kapselt. Vielleicht auch ein Array, statt eines Switches verwenden (GET-value => ActionObjekt) und den GET-key noch als Parameter an das Objekt binden.
__________________
--
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 gerade online   Mit Zitat antworten
Alt 05.01.2011, 19:45  
Erfahrener Benutzer
 
Registriert seit: 25.05.2010
Beiträge: 852
PHP-Kenntnisse:
Anfänger
Trainmaster wird schon bald berühmt werden
Standard

@ nikosch

Bin ich dann nicht dazu gezwungen, URLs mit Key/Value-Paaren zu erstellen? Ich persönlich finde das nicht schlimm, eher das Gegenteil. Ich dachte dabei nur an das von Chriz genannte Beispiel: index.php?request=news/list. Sprich ein Key/Value-Paar, wobei der Value in seine Bestandteile zerlegt wird.

Sofern ein Array verwendet wird, müssen irgendwo die Routen notiert sein. Geschieht das allein durch eine allgemein festgelegte Namensgebung von Klassen und Methoden, sprich automatisches Instanziieren von Klassen und Aufrufen von Methoden? Oder werden die Routen explizit an anderer Stelle notiert? Genau diese Stelle habe ich noch nicht vollends verstanden.
Trainmaster 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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Funktionsberechtigungne, Rollen und Vererbung von Rechten Geryon Software-Design 37 02.11.2010 23:08
[Erledigt] Mehrere DIV Container mit einem Klick ändern (mit mehreren Request Aufrufe Lebenssonde JavaScript, Ajax und mehr 11 26.08.2010 09:01
Parameter an weiter Funktion übergeben thiagojonas JavaScript, Ajax und mehr 2 26.07.2010 22:48
mod_rewrite URL-Umleitung zu Dateien in Verzeichnissen, mit Slash nach Parameter karthago Server, Hosting und Workstations 4 22.07.2010 16:15
[Erledigt] Optionaler Parameter mit Variable zuweisen Lollix PHP Tipps 2010 6 07.07.2010 17:48
request GET value max length config? Desian PHP-Fortgeschrittene 3 30.06.2010 13:51
[Erledigt] leeres request trotz übergebenen Daten AJAX mupilz JavaScript, Ajax und mehr 6 06.04.2010 06:55
http_class verwenden hans213 PHP Tipps 2009 27 15.01.2010 03:07
[Erledigt] Warning: mysql_result() expects parameter 1 to be resource, boolean given FloRic Datenbanken 8 19.10.2009 20:15
parameter von interfaces in klassen richtig mit anwenden? litterauspirna PHP Tipps 2009 27 30.06.2009 20:58
[Erledigt] PHP5: Request Parameter werden nicht korrekt ausgegeben dmecir PHP Tipps 2008 11 20.08.2008 17:37
Parameter überschreiben Igäl PHP Tipps 2006 8 04.06.2006 19:55
functionen - optionale Parameter PHP Tipps 2005 7 23.05.2005 19:08
Alle $_GET[] parameter auslesen PHP Tipps 2004 3 09.08.2004 14:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
symfony2 routing parameter from request, htaccess fehlenden parameter anhängen, parameter anhängen request zend, parameter von javascript an mvc requestparam, php seite selbst aufrufen und parameter anhängen, symfony get parameter anhängen, symfony routing mehrsprachigkeit, php request router erstellen, php request parameter auslesen, php request struktur, symfony route param requestparameter, htaccess request parameter, php request seite, request param anhängen, create a hmvc pattern php, modulcontroller, zendframework paramter auslesen ohne controller und action, was ist ein requestparam, \apc\, php parameter routing

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:30 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