Antwort
 
Themen-Optionen Thema durchsuchen
Alt 06.06.2006, 16:18 Nach oben    #21
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Ich würde Filter nicht im Controller verwenden, sondern da wo du sie wirklich brauchst. Bei der Generierung von Ausgaben und bei der Kommunikation mit der Datenbank.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.06.2006, 16:37 Nach oben    #22
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Zitat:
Zitat von Ben
Ich würde Filter nicht im Controller verwenden, sondern da wo du sie wirklich brauchst. Bei der Generierung von Ausgaben und bei der Kommunikation mit der Datenbank.
Genau.

SubController verwende ich so: (controller.class.php
PHP-Code:
<?php
        
function execute() {
                require_once(
COREROOT '/subcontroller/' $this -> sController '.controller.php');
                new 
$this -> sController(&$this -> oMysql, &$this -> oTemplate);
        }
?>
Die Subcontroller starten dann direkt bei der Initialisierung, macht was seine Aufgabe ist und gibt das Ganze an den View weiter. Ich hab mal ein Bild angehängt..
Angehängte Grafiken
Dateityp: png mvcmodel.png (53,0 KB, 11x aufgerufen)
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.06.2006, 19:44 Nach oben    #23
Erfahrener Benutzer
 
Registriert seit: 30.10.2005
Beiträge: 287
Standard

Also ihr beiden:
Das mit den Filtern und nur da wo sie gebraucht werden. Angenommen ich hab beispielsweise irgendeine BBCODE- oder Wiki-Klasse. Dann wird das doch im Controller aufgerufen ungefähr so:
PHP-Code:
<?
class Text {
    function output() {
        $text = $this->db->query("Hole Text");
        $text = $this->bbcode->format($text);
        $this->tpl->assign($text);
        $this->tpl->output();
    }
}
$site = new Text();
$site->output();
?>
Wo sollte man so Sachen wie number_format(), etc. sonst machen?
ex³ ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.06.2006, 20:19 Nach oben    #24
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Zitat:
Wo sollte man so Sachen wie number_format(), etc. sonst machen?
Zitat:
PHP-Code:
<?php
$text 
$this->bbcode->format($text);
?>
Hier?
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.06.2006, 20:46 Nach oben    #25
Erfahrener Benutzer
 
Registriert seit: 30.10.2005
Beiträge: 287
Standard

Ja außerhalb der ganzen Controller Sache? Wenn ich doch einen Text im Controller aus der Datenbank hole wieso soll ich den dann draußen formatieren? Deine Codezeile hab ich doch in meinem Schnipsel.
ex³ ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.06.2006, 10:41 Nach oben    #26
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Zitat:
Zitat von ex³
Ja außerhalb der ganzen Controller Sache? Wenn ich doch einen Text im Controller aus der Datenbank hole wieso soll ich den dann draußen formatieren? Deine Codezeile hab ich doch in meinem Schnipsel.
Naja, das is auch mein Problem, weshalb ich mich für einen Controller und mehrere (viele) Subcontroller entschieden hab. Der Controller lädt dann nälmich über das Model alle Einstellungen und initialisiert dann den Subcontroller, welcher sich bei seiner Initialisierung automatisch startet und alles weitere übernimmt. Schau dir mal meine angehängt Grafik etwas weiter oben an.

Wenn du nur einen einzigen Controller verwenden willst, musst du irgendwie alle benötigten Funktionen acuh da rein packen. Find ich aber irgendwie unsinnig, oder ich hab das einfach noch nicht so verstanden.
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.06.2006, 10:48 Nach oben    #27
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

Durch die Subcontroller kannst du diese doch in andere maincontroller wieder einbinden. Dadurch sparst du doch das schreiben von identischen codes...
so würde ich das zumindest verstehen.
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.06.2006, 13:48 Nach oben    #28
Erfahrener Benutzer
 
Registriert seit: 30.10.2005
Beiträge: 287
Standard

Warum wird das nicht so geregelt? Da könnte man ja für jeden Anwendungsbereich bestimmte Funktionen bereitstellen.

PHP-Code:

class controller {
    private 
$subcontroler NULL;
    private 
$text;
    
    public 
__construct(subcontroller $controller) {
        
$this->subcontroller $controller;
    }

    public 
output() {
        return 
$this->subcontroller->format($this->text);
    }


ex³ ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.06.2006, 12:26 Nach oben    #29
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Zitat:
Zitat von ex³
Wenn ich doch einen Text im Controller aus der Datenbank hole
Machst du ja nicht.

Der Controller ist sozusagen das Hirn. Das Hirn sagt der Hand, dass sie zugreifen soll und die macht das dann, wobei die Hand erstmal überprüft, ob es weh tut, wenn man zugreift.
Verständlich beschrieben?


Ein Controller ist nicht, was man wiederverwendet @WarrenFaith.
Der Kern des Systems wird wiederverwendet. Model und View bieten bei guter Strukturierung und Implementierung die Möglichkeit immer wieder verwendet zu werden, z.B. in Form der Persistenzabstraktion etc.

Der Controller ist speziell auf ein System angepasst. Heißt, dass er natürlich unterschiedlich aussieht und auch unterschiedlich komplex ist.

Filterungen, wie z.B. das richtige Escapen bei SQL-Queries etc., werden nicht im Controller durchgeführt, sondern intern in den entsprechenden Klassen. Ebenso bei der Ausgabe.
Da kommt es dann auf die richtige Implementierung an und auf die Möglichkeit Ausgaben so zu manipulieren, dass man all das machen kann, was man gerne möchte.
(Bisschen bescheuert beschrieben ... -)


Fakt ist, dass man mit einem Controller genau ein System laufen lassen kann. Mit einem anderen Controller wieder etwas anderes ... das eine ist vielleicht ein CMS, das andere ein Shop, ein nächstes vielleicht ein Auktionshaus oder eine Lagersoftware.
Der Kern bleibt .. aber das außenrum ändert sich.

Das Schreiben eines Subcontrollers ist genauso legitim, wie alles andere auch, da es eben (gerade für PHP) keine fixe Spezifikation gibt, wie das alles auszusehen hat.

Es gibt kein festes "richtig"/"falsch"!

Grüße, Ben.

Geändert von Ben (13.06.2006 um 14:32 Uhr) Grund: Grammatik-/Zeichenfehler behoben
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.06.2006, 13:07 Nach oben    #30
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Erstklassige Erklärung.


// edit:
Ein Erklärbär :>
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.06.2006, 14:33 Nach oben    #31
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Mal sehen, ob das die anderen auch so sehen.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.06.2006, 14:54 Nach oben    #32
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

Zitat:
Zitat von Ben
Ein Controller ist nicht, was man wiederverwendet @WarrenFaith.
Nuja ein Subcontroller könnte aber in mehreren MainControllern wiederverwenden. Deswegen gibt es bei mir ja SubController.
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.06.2006, 15:07 Nach oben    #33
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Habe ich ja auch niemals bezweifelt.
Zitat:
Zitat von Ben
Ein Controller ist nichts, was man wiederverwendet
Zitat:
Zitat von Ben
Das Schreiben eines Subcontrollers ist [..] legitim
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.06.2006, 16:45 Nach oben    #34
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

dann vielleicht der zusatz: ein Controller ist so spezifisch, dass er maximal im gleichen Projekt wiederverwendet werden kann.

einverstanden?
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.06.2006, 19:57 Nach oben    #35
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Man könnte im Prinzip auch sagen, dass "Subcontroller", wie ihr es nennt, Module sind!
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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 sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verständnisfrage - MVC (Model-View-Controller) Artemis Anwendungsdesign / Softwarearchitektur 24 11.01.2007 10:34
PHP und das Observer-Pattern (MVC) Ben Anwendungsdesign / Softwarearchitektur 14 26.05.2006 14:47
MVC - Was darf die View NewYork Anwendungsdesign / Softwarearchitektur 2 03.11.2005 21:42
MVC, Strukturierung, Reaktion auf Events... Ben Allgemeine Java-Programmierung 7 17.06.2005 16:34
MVC Programmierung nur mit Klassen mit UI Endung? Java17 Desktop-Applikationen und Grafik 5 14.03.2005 17:12


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:27 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45