tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
4354
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    soyo soyo ist offline Mitglied Brillant
    Registriert seit
    Apr 2006
    Beiträge
    794
    Hallo ...

    ... Was MVC ist und wozu es gut ist weiß ich. Mein Problem liegt in der Umsetzung in PHP. Ich habe unzähle fertige PHP Frameworks gefunden, außerdem auch ein Tutorial. Leider basiert das Tutorial auf Zend. Ich wollte vermeiden fertige Frameworks zu verwenden, da ich gern alles selber schreibe.

    Nu zu meinen Fragen: Lohnt sich das Buch 'PHP Design Patterns' von O'Relly bezüglich MVC?
    Kennt jemand ein verständliches, möglich deutsches, Tutorial was sich mit dem MVC Pattern auseinadnersetzt. Wenn möglich, kein Tutorial welches sich auf irgendein Framework bezieht.

    Gruß soyo
    Geändert von soyo (02.10.07 um 16:58 Uhr)
     
    Aktuelle Zertifizierung: MCP 70-270, CCNA
    In Arbeit: 70-291, 70-290, 70-284, 70-293, 70-294, 70-298

  2. #2
    X-Color X-Color ist offline Mitglied Gold
    Registriert seit
    Jul 2002
    Beiträge
    108
    Hi,
    schön das du dich tiefer in die Materie PHP begeben möchtest.
    Der Grund warum ein MVC-Modell verwendet wird ist der, dass du bei einer Anwendung an einem schon frühen Zeitpunkt keinen Überblick mehr über PHP und HTML hast, da alles miteinander vermischt wird.
    Da hilft das MVC, das durch seine Architektur PHP Klassen und deren Funktionen, das Ausführen von Funktionen und das einbetten in HTML sauber trennt. So ist immer sofort ersichtlich wo sich welche Funktion befindet, wenn Fehler auftreten die dadurch hervorgerufen werden.

    Es ist also unumgänglich in die Objektorientierte Programmierung umzusteigen, die das MVC-Model verwendet und bevor du mit einem Framework beginnen möchtest, sammel noch genug Erfahrung in PHP und Anwendungsentwicklung.

    Grüße Gerrit

    // Sorry hatte mich verlesen und ging davon aus, das du noch nichts über MVC weisst.
    Geändert von X-Color (02.10.07 um 17:10 Uhr)
     
    Any fool can write code that a computer can understand. Good programers write code that humans can understand
    [Martin Fowler, 1999]

  3. #3
    soyo soyo ist offline Mitglied Brillant
    Registriert seit
    Apr 2006
    Beiträge
    794
    Ich glaub du hast dich verlesen. Ich programmiere schon einige Jahre mit PHP und mittlerweile auch schon einige Zeit OOP in PHP. Mein Wissen ist sicherlich nicht so groß wie das einiger anderer User hier, aber ich komm zurecht

    Um HTML und PHP zu trennen nutze ich schon lange, eine eigene Template-Klasse. Um das ganze jetzt noch flexibler zu gestalten, versuche ich mich an MVC.

    Gruß soyo
     
    Aktuelle Zertifizierung: MCP 70-270, CCNA
    In Arbeit: 70-291, 70-290, 70-284, 70-293, 70-294, 70-298

  4. #4
    sufijen sufijen ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    236
    Was hälts du davon ein geeignetes Framework zu nutzen wie z.b. Zend Framwork oder CakePHP ?

    Ich benutze selbst das Zend Framework und bin sehr zufrieden! Man kommt sehr schnell in die Materie dank mancher Anleitungen. Es ist auch noch recht neu und ist deshalb noch nicht so umfangreich (zwecks nachlernen).

    Ich kann dir das empfehlen.
     

  5. #5
    X-Color X-Color ist offline Mitglied Gold
    Registriert seit
    Jul 2002
    Beiträge
    108
    Ja das habe ich leider, sorry .
    Ich denke es würde ein Buch zu OOP reichen (falls du noch keines besitzt), das sich mit einem Kapitel für MVC beschäftigt. Wenn du andere andere Entwurfsmuster kennenlernen möchtest, dann greif dir natürlich gleich das ganze Sortiment. Kann dir allerdings nichts über das von dir vorgeschlagene Buch sagen.

    Hab auf anhieb jetzt auch kein Tutorial finden können.
    Kurz umschrieben gliedert sich ja MVC in Models, Views und Controllers.
    Der Controller führt Funktionen (Methoden) einer Klasse aus und erhält meist nur als Rückgabewert true oder False, mehr nicht!
    Keine Schleifen, kein if-else, keine Berechnungen...Nur Methodenaufrufe!
    Das Model (je eine klasse), enthält die Methoden die vom Controller ausgeführt werden sollen und setzt diese um (wichtig dabei ist auch zu beachten, das Funktionen Atomar sein sollten, also sich wirklich nur um eine Aufgabe kümmern).
    Der View enthält die Optischen Informationen und wird am Ende vom Controller geladen.

    So kann ein MVC aussehen:
    /index.php (Controller)
    Code :
    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
    
    <?php
        session_start();
     
        include('models/datenbank.php');
        include('models/class_helper.php');
        include('models/class_bild.php');
     
        $roteKreuz = new HelperFabrik;
        $helper = $roteKreuz->anlegen();
        $gallerie = new BildFabrik;
        $bild = $gallerie->anlegen();
     
        switch($_POST['aktion']) {
            case 'upload':
                try {
                    $bild->uploadAusfuehren();
                } catch (Exception $e) {
                    print $e->getMessage();
                }
                $aktion = '_preview';
            break;
            case 'speichern':
                $bild->eintragSpeichern();
                $aktion = '_index';
            break;
            default:
                $galerieIndex = $bild->galerieIndexLesen();
                $aktion = '_index';
            break;
        }
        include('views/galerie'.$aktion.'.tpl.html');
    ?>

    /models/class_bild.php (Models)
    Code :
    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
    
    <?php
    class BildFabrik {
        function anlegen() {
            return new Bild();
        }
    }
    class Bild {
    /** Variablen ***************************/
    /****************************************/
        private $uploadOrdner = '';
        private $tempOrdner = '';
        private $gallerieOrdner = '';
        private $datenbank = null;
        
    /** Magische Methoden *******************/
    /****************************************/
        private function __construcht() {
        }
     
    /** Spezielle Methoden ******************/
    /****************************************/
        public function uploadAusfuehren() {
            if (move_uploaded_file($_FILES['picture']['tmp_name'], $this->getUploadOrdner().$_FILES['picture']['name'])) {
                $this->setOrginalDateiname($_FILES['picture']['name']);
            } else {
                throw new exception('Fehler beim Upload aufgetreten');
            }
        }

    und jetzt nur noch das HTML-File, welches auf die Attribute eines Objekts zugreift.

    Gruß Gerrit
     
    Any fool can write code that a computer can understand. Good programers write code that humans can understand
    [Martin Fowler, 1999]

  6. #6
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Patterns für Enterprise Application Architekturen von Martin Fowler

    Das Buch wurde mir bereits mehrmals empfohlen bzw. darauf verwiesen, aufgrund von Geldmangel konnte ich es mir bisher aber nicht leisten.

    Professionelle PHP5 Programmierung von George Schlossnagle fand ich ebenfalls sehr interessant.

    Ansonsten hilft der Artikel auf Wikipedia dir auch schon ein Stück weiter.

    Ansonsten sind die meisten Tutorials/Artikel über MVC und Design Patterns auf Englisch.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  7. #7
    soyo soyo ist offline Mitglied Brillant
    Registriert seit
    Apr 2006
    Beiträge
    794
    Sicherlich ist ein Framework sehr sinnvoll, erst recht wenn man im Team arbeitet. Nur bleibt für mich immer die Frage, was passiert eigentlich wenn ich diese oder jene Methode anwende?
    Also kommt für mich kein fertiges Framework in Frage, wie schon oben geschrieben.

    Also wird mir nix anderes übrig bleiben, als ein Buch zu kaufen. Kann ja auch nicht schaden

    Gruß soyo
     
    Aktuelle Zertifizierung: MCP 70-270, CCNA
    In Arbeit: 70-291, 70-290, 70-284, 70-293, 70-294, 70-298

  8. #8
    Registriert seit
    Sep 2003
    Ort
    Fürth(Franken)
    Beiträge
    1.060
    Blog-Einträge
    3
    Schau dir mal diese Artikel an: Understanding MVC in PHP.
    Vielleicht hilft dir das ein wenig auf die Sprünge!
     
    be inspired...simplify...

  9. #9
    sufijen sufijen ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    236
    Hat jemand noch Code-Beispiele vielleicht?

    Ich versuche auch gerade mein eigenes MVC zu schreiben, da mir die Frameworks meist zu umfangreich und manchmal etwas undurchschaubar sind.

    Gruß Sufijen
     

Ähnliche Themen

  1. LinkedList Methode selbst schreiben
    Von GästeStuhl im Forum Java
    Antworten: 11
    Letzter Beitrag: 09.05.10, 12:46
  2. Antworten: 2
    Letzter Beitrag: 27.03.07, 08:36
  3. Programme für WindowsCE selbst schreiben?
    Von Zorck im Forum Microsoft Windows
    Antworten: 4
    Letzter Beitrag: 17.08.05, 11:17
  4. Antworten: 4
    Letzter Beitrag: 25.04.05, 22:15
  5. Mailinglist Script selbst schreiben/Mailserver-Zugriff
    Von user marcus im Forum Hosting & Webserver
    Antworten: 1
    Letzter Beitrag: 03.05.04, 20:14