Wann MVC auf PHP verwenden?

8

Ok ich glaube, ich dränge mich hier zu weit, ich erschaffe ein Projekt in meinem eigenen MVC, auch wenn ich nicht weiß, was MVS selbst ist,

%Vor%

Ok, wenn du meinen Frontcontroller siehst, weiß ich, dass es scheitert. Ich merke nur, dass ich scheitert, nachdem ich mein Projekt fast fertig habe, besonders wenn ich www.someurl.com /? $ getuser oder www.someurl.com/myname oder ein Benutzer.

Wie auch immer, meine Frage ist wann brauchen wir wirklich MVC für PHP?

Ich schaue auf Facebook, usw.

Sie benutzen immer noch ?this=blabla get, also sind sie nicht MVC, ist das richtig? Jedenfalls bin ich immer noch verwirrt, wie Facebook ohne www.facebook.com/myname auskommt. (htaccess?)

Wenn sie MVC nicht benutzen, wann brauchen wir es wirklich?

Hinweis:

Ich habe viele Thread gelesen, wenn MVC verwenden, aber ich habe keine in meinem Problem gefunden, wenn es bitte einen Kommentar hinterlassen, damit ich lesen kann :)

Vielen Dank.

    
Adam Ramadhan 30.07.2010, 18:23
quelle

8 Antworten

5

Ich glaube, Sie sind verwirrt zwischen MVC und RESTful URL-Schema ( Ссылка ).

MVC ist nur ein Codierungsmuster, das Entitäten und Module trennt. Wie Anwendungslogik von GUI Templates während Das URL-Muster ist eine ganz andere Sache. URLs dienen nur zum Zugriff auf eine Web-Ressource. MVC-Frameworks wie CodeIgnitor können Ihnen immer noch "hässliche" URLs geben, wenn Sie nicht mit .htaccess

arbeiten     
user201788 30.07.2010, 18:33
quelle
2

MVC ist ein architektonisches Muster, das sich auf die Trennung von Anliegen konzentriert; die URLs haben damit nichts zu tun.

URLs werden vom Server verarbeitet. Wenn es sich um Apache handelt, richten Sie mod_rewrite ein.

Davon abgesehen, möchten Sie vielleicht nicht das Rad neu erfinden, aber schauen Sie sich die verfügbaren Optionen an, da es viele MVC-orientierte PHP-Frameworks gibt. Finden Sie eine, die Sie mögen und kann produktiv sein und es verwenden.

    
NullUserException 30.07.2010 18:28
quelle
2

Ich denke, Sie verwechseln MVC mit Abfrageparametern. Die beiden sind nicht notwendigerweise miteinander verbunden, obwohl es wahr ist, dass die populäreren PHP MVC-Frameworks die Parameter mit mod_rewrite oder einer äquivalenten Methode maskieren.

MVC ist einfach eine Möglichkeit, Ihre Präsentationslogik von Ihrer Geschäftslogik zu trennen. Stellen Sie sich Folgendes vor: Wenn Sie eine Website mit MVC verwenden, können Sie ganz einfach eine Handyversion erstellen, indem Sie einfach die Ansichten auf der Basis des Browsers ändern. Die Logik Ihrer Site muss nicht geändert werden, sondern nur der HTML-Code Client.

    
speshak 30.07.2010 18:32
quelle
2

Es scheint, dass Ihre Frage zwei verschiedene Themen miteinander vermischt. Model View Controller (MVC) und hübsche URLs.

Model View Controller ist ein Design-Paradigma, mit dem Sie Ihre Logik (Modell), Ihre Vorlagen (Ansichten) und Ihren steuernden Input / Output (Controller) trennen können.

Pretty URLs ermöglichen andererseits das Umleiten von URLs basierend auf Formatregeln ( in der Regel .htaccess-Regeln ).

Model-View-Controller - Design-Paradigma-Informationen.

Anleitung für hübsche URLs - Implementierung von Apache mod_rewrite.

mod_rewrite - Informationen darüber, was eine Rewrite-Engine ist.

    
David Young 30.07.2010 18:34
quelle
2

Das Speichern von Code, HTML und Daten in verschiedenen Ordnern ist der einfachste Weg, um Ihre Anwendung zu strukturieren - und das ist der Hauptgrund für die Implementierung von MVC: Organisation.

Die anderen Entwurfsmuster, die in den meisten Frameworks vorhanden sind, ergänzen MVC, und sie fördern die Wiederverwendung von Codes, schnelle Entwicklung usw. Aber Sie können Letzteres sogar ohne MVC tun - alles was Sie brauchen, ist eine Codebibliothek! Die meisten Frameworks verwenden das MVC-Entwurfsmuster, aber MVC! = Frameworks.

Bei einigen Frameworks müssen Sie Apache (Lighty, Nginx usw.) optimieren, um es zu einer Framework-Erweiterung zu machen. Pretty URLs sind nur eine Möglichkeit, Eingabedaten (Ansicht) darzustellen, die von der Steuerung verbraucht werden, damit diese zum entsprechenden Handler weitergeleitet werden kann. In diesem Zusammenhang ist .htaccess ein wesentlicher Bestandteil von MVC für solche Frameworks.

Bevor Sie tiefer in Ihr Projekt einsteigen, hilft es, ein wenig mehr Forschung zu betreiben. Die meisten Frameworks haben den verschachtelten Ansatz bei MVC übernommen, was viele zur Verwirrung geführt hat. Fat-Free Framework verwendet einen direkteren und einfacher zu verfolgenden Pfad.

    
stillstanding 31.07.2010 02:06
quelle
1

Sie könnten in Betracht ziehen, eines der vielen verschiedenen MVC-Frameworks zu verwenden, z. B. CodeIgniter oder KuchenPHP . Diese Frameworks wurden von vielen Leuten entwickelt und über einen gewissen Zeitraum verfeinert. MVC ist nicht notwendig, aber sobald das BoilerPlate erstellt ist, ist die Erstellung von Web-Anwendungen sehr schnell.

    
Scott M. 30.07.2010 18:30
quelle
1

Wann zu verwenden ... Die ganze Zeit ist eine gute Übung.

Persönlich, meine Wahl: Symphone und Doctrine können leichter große Anwendungen vom Team schreiben. Aber begann mit CodeIgniter.

    
ajile 30.07.2010 19:10
quelle
0

Du machst es dir wirklich schwer, indem du versuchst, deinen eigenen mvc zu schreiben. (Sie tun dies nicht, indem Sie das URL-Schema manipulieren). Während es eine gute pädagogische Erfahrung ist, eine selbst zu schreiben, werden Sie nicht das Niveau der Qualität und die Vorteile des MVC-Musters erhalten, indem Sie das Rad neu erfinden.

Schreiben Sie Ihre App in symfony, zend, codeigniter cake oder einem der guten Open-Source-MVC-Frameworks. Wenn Sie ein Gefühl dafür bekommen, wie es funktionieren soll, sollten Sie Ihr eigenes zum Spaß erstellen.

Diese Frameworks dienen dazu, Ihre Projekte schneller zu programmieren und wartbarer zu machen.

    
Byron Whitlock 30.07.2010 18:29
quelle

Tags und Links