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 06.08.2011, 18:08  
Neuer Benutzer
 
Registriert seit: 06.08.2011
Beiträge: 5
PHP-Kenntnisse:
Fortgeschritten
NecroniX befindet sich auf einem aufstrebenden Ast
Standard Event Handling System

Ich wollte hier mal kurz meine Vorstellung zum Event Handling System vorstellen und insbesondere eure Kritik und Verbesserungsvorschläge dazu hören.

Ich hab versucht es in UML dazustellen, ob mir das gelungen ist solltet ihr mir sagen
UML

Schon mal Danke im Vorraus

NecroniX
NecroniX ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 06.08.2011, 18:30  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.169
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

Template -> Command -> Request -> Event-Manager?! Irgendwie durcheinander alles.

Kannst Du mal ein konkretes Bsp. beschreiben?
xm22 ist offline   Mit Zitat antworten
Alt 06.08.2011, 19:00  
Neuer Benutzer
 
Registriert seit: 06.08.2011
Beiträge: 5
PHP-Kenntnisse:
Fortgeschritten
NecroniX befindet sich auf einem aufstrebenden Ast
Standard

Im Template stehen Befehle(commands) sehen ungefähr so aus "Plugin::load::FooBar", diese werden dann vonner View geparst und die Befehle einzeln an den EventManager weitergegeben, da der Command nun nen Ereigniss zur Folge haben soll. EventManager prüft, ob es zu diesem Command ein entsprechendes Event gibt(evtl schalte ich da zwischen noch eine Factory) , das ausgelöst werden könnte. Ist eins vorhanden wird die Action Methode des zurückgegeben Events ausgeführt(z.B. eben das entsprechende Plugin geladen...).

Ich hoffe das ist nun verständlicher...
NecroniX ist offline   Mit Zitat antworten
Alt 06.08.2011, 23:36  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Das ist aber kein Event, jedenfalls nicht im üblichen Sinne, z.B. des Event/Observer Patterns¹. Das Event ist schließlich ein Ereignis, auf das reagiert werden soll, keine Aktion die ausgeführt wird. Was du als Event bezeichnest kommt dem Command² noch am nächsten. Was das in der View nutzen soll ist mir allerdings schleierhaft.

Zitat:
Zitat von xm22 Beitrag anzeigen
Irgendwie durcheinander alles.
Dem kann ich nur zustimmen.

¹ http://en.wikipedia.org/wiki/Observer_pattern
² http://en.wikipedia.org/wiki/Command_pattern
fab ist offline   Mit Zitat antworten
Alt 07.08.2011, 15:03  
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

Hi NecroniX,

kommt mir alles sehr laienhaft vor, auch dein UML-Diagramm (ist eigentlich keins). Ist aber nicht schlimm, solang du dir etwas mehr entlocken laesst...

Erlaueter doch mal was du vor hast und warum ("MVC reicht mir nicht aus, weil..."), was du unter den einzelnen Bezeichnungen verstehst (View, Event, Command, ..) und warum du sie fuer geeignet haelst, denn die Begriffe sind allesamt schon "belegt", weshalb ich es schwierig finde, deinen knappen Erlaeuterungen zu folgen ("vom View geparset").

Schoenen Sonntag noch,
Gruss, Chriz
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 07.08.2011, 15:26  
Neuer Benutzer
 
Registriert seit: 06.08.2011
Beiträge: 5
PHP-Kenntnisse:
Fortgeschritten
NecroniX befindet sich auf einem aufstrebenden Ast
Standard

Das das UML-Diagramm schlecht ist war mir schon fast klar, arbeite nie mit UML, konzepiere immer alles mit Stift und Papier...

Also wie schon gesacht es gibt ein Template, was normalen HTML Code und eben solche Passagen, ich zumindest nenne sie Command(vermutlich gibts nen passenderen Namen), wie eben "Plugin::load::FooBar" enthält.
Dieses Template wird von der View geparst, sprich hier werden diese "Commands" aus dem Template gezogen und innen Array gepackt.

Dieses Commands sollen jetzt etwaige Aktionen durchführen, hier in dem Beispiel eben das Plugin "FooBar" laden. Hier beginnt für mich der Teil wo ich nicht genau weiß/wusste wie ich es machen soll, daher bin ich oben zu diesem abenteuerlichen Architektur gekommen, diese ist imo wieder verworfen.

Hab gestern Abend mal das Framework von xm22 durchgeschaut und sein Lösung im Bezug auf das Event System hat mir schon sehr gut gefallen.
NecroniX ist offline   Mit Zitat antworten
Alt 07.08.2011, 15:30  
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

Kannst du mal konkreter werden, was waere FooBar? Eine Loginbox? Fuer mich waere das ein ViewHelper.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 07.08.2011, 15:35  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Zitat:
Zitat von NecroniX Beitrag anzeigen
Dieses Commands sollen jetzt etwaige Aktionen durchführen, hier in dem Beispiel eben das Plugin "FooBar" laden. Hier beginnt für mich der Teil wo ich nicht genau weiß/wusste wie ich es machen soll, daher bin ich oben zu diesem abenteuerlichen Architektur gekommen, diese ist imo wieder verworfen.
Hier beginnt der Teil wo du dich hättest fragen sollen, was Aktionen in einem HTML-Template zu suchen haben. Du sprichst dabei von "View", ich gehe also davon aus dass du in irgendeiner Weise das MVC Pattern umsetzt. Die dadurch eigentlich beabsichtigte Trennung von Steuerung (Controller) und Darstellung (View) untergräbst du mit solchen Konstrukten wieder, womit der Sinn des ganzen etwas verloren geht.
fab ist offline   Mit Zitat antworten
Alt 07.08.2011, 15:42  
Neuer Benutzer
 
Registriert seit: 06.08.2011
Beiträge: 5
PHP-Kenntnisse:
Fortgeschritten
NecroniX befindet sich auf einem aufstrebenden Ast
Standard

@Chriz

Ich hab bisher ne Aufteilung, die so aussieht das ein Plugin einen Container darstellt der verschiedene Untercontainer(Module) besitzt.
Ein Module wäre dann z.B. eine Loginbox, diese hat ihren eigenen Controller wie eben auch das eigene Model.
Würde ich jetzt z.B. "Plugin::load::FooBar" aufrufen würde er das Plugin FooBar laden und das Hauptmodul anzeigen.

@Fab
Nach meiner Ansicht sind diese Commands nur Platzhalter, die später eine Logik aufrufen sollen. Die View würde nur herausfinden wo diese stehen und diese dann weiter an die entsprechenden Klassen geben(so zumindest mein Plan).
NecroniX ist offline   Mit Zitat antworten
Alt 07.08.2011, 16:02  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Ok so ergibt das langsam mehr Sinn, die Begrifflichkeiten waren zu Anfang ja doch sehr unklar. Klingt stark nach (view centric) HMVC. Unter dem Stichwort könntest du dich mal schlau machen, das Thema ist auch hier im Forum vieldiskutiert. AFAIK basiert auch das Framework von xm22 darauf.
fab 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] Problem mit "for" Schleife kay899 PHP Einsteiger 8 12.02.2011 12:26
Event mit Datumsberechnung Todeshügel Datenbanken 16 11.11.2010 08:45
Scriptangebot IV Content Management System Master IV Scriptbörse 0 06.10.2009 15:09
variable mit onclick an php drombusch PHP Tipps 2009 8 30.08.2009 14:45
Fehler beim kompilieren von php 5.2.9 malio Server, Hosting und Workstations 11 05.06.2009 18:40
Event: User Regestrierung in die Datenbank??? Dunkelelf9 Datenbanken 2 22.12.2008 15:49
system() flush und Safari webbi PHP-Fortgeschrittene 6 07.07.2008 21:30
Event in Kalender ausgeben zoro PHP Tipps 2007 3 02.05.2007 13:40
ComputerVerwaltung / System / Ereignisanzeige dh1sbg PHP-Fortgeschrittene 3 17.11.2006 01:42
Hilfe System für Bürobetrieb erstellen PHP Tipps 2005-2 4 13.09.2005 00:56
29.07.05: System Administrator Appreciation Day!! Off-Topic Diskussionen 2 25.07.2005 09:15
Chat System Chat System Beitragsarchiv 3 21.06.2005 17:07
Welches Template System? zwelch PHP Tipps 2004-2 1 18.11.2004 09:04
[Erledigt] probleme mit event datenbank Datenbanken 1 04.09.2004 00:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php event handling, event handling php, event handling in php, php script eventmanager 2011 2012, php script eventmanger, php script eventmanager, php events, uml event system, php und events handling über com, eventhandling php, php ereigniss, php action handling /, php event handlers, handling system, php event monatskalender ausgeben, uml event handling, php event handler, mvc hmvc factory design, ereignis handlng php, событийная машина

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