2010-12-03 20 views
5

Ok, ich möchte zuerst bemerken, dass ich nach "php mvc design patterns" gesucht habe und so habe ich nicht wirklich gefunden, wonach ich suchte; immer noch, meine Frage schreibend, kann ich keine verwandte und so spezifische Frage finden, wie ich fragen werde. Aber ich weiß, dass ich wahrscheinlich falsch liege, bedenke diese Frage und ein Fragepaket, das nützlich sein könnte.Php Designmuster

Frage

  1. Ich habe mich gefragt, wie wir die Designmuster in Betracht ziehen sollten. Ich meine: Was sind sie? Sind das einfach Binärdateien, die uns helfen, konsistente Anwendungen zu entwickeln? Sind sie so benutzt? Warum?
  2. Wo finde ich eine Liste über alle Designmuster im Internet? Oder zumindest die 5-10 meist verwendeten Designmuster?
  3. Verwenden Phpbb, Wordpress oder Joomla (die ich ziemlich gut kenne) ein Designmuster? Wenn ja, welche?
  4. Ich googelte MCV PHP und fand etwa 3 italienische Artikel und lesen etwa 5 der ersten Seiten rangiert und ich habe nicht viel nichts verstanden. Sie waren widersprüchlich und schienen mir verwirrend. Ich habe verstanden, dass es nützlich ist, Business Login, Skript und View (?) Zu trennen, aber ich habe nichts anderes bekommen. Ich bin wahrscheinlich dumm oder etwas, aber wo könnte ich eine nette und offizielle (Mittel geschrieben von der Gang of Four oder jemand, der tatsächlich weiß, wovon er spricht) finden mvc Tutorial oder Dokumentation im Zusammenhang mit PHP?
  5. Gibt es einfache Beispiele über Entwurfsmuster und wie diese besser sind als (normale) Schreibstile? Gibt es einfache Beispiele zu einem mvc oder anderen Designmustern? Zum Beispiel ein einfacher Blog mit einem Designmuster geschrieben?

Tipps

würde ich erste freie Lösung bevorzugen. Ich mag keine Frameworks, also bitte nicht auf sie verweisen, selbst wenn (ich weiß) sie haben MVC und andere gültige Design-Muster und Vorteile. Ich mag sie immer noch nicht. Dank

Hinweis

Ich werde meine akzeptierte Antwort nach morgen, ja, bitte nehmen Sie sich Zeit zu beantworten wählen.

+3

Pigarelli - versuchte google 'MVC PHP' ... das gibt mir ** Über 4.090.000 Ergebnisse (0.09 Sekunden) ** – ajreal

+1

1. Design-Muster sind ... Muster. Sie sind abstrakte Konzepte, keine konkreten * Dinge *. Sie können eine Anwendung erstellen, die dem Muster folgt, aber die Muster selbst sind nicht Ihre Anwendung. In Analogie ist ein architektonischer Entwurf kein Haus, sondern sagt Ihnen, wie ein Haus * gebaut werden könnte. – FrustratedWithFormsDesigner

+0

Liefern die ersten 20 Ergebnisse die Antworten, die ich brauche? – Shoe

Antwort

17

Was sind sie?

Entwurfsmuster sind sprachunabhängige Blaupausenlösungen für allgemeine Probleme. Sie sind kein herunterladbarer Code oder fertige Implementierungen, sondern ein theoretischer Ansatz, den Sie in funktionierende Lösungen umsetzen können.

Design Patterns ermöglichen auch eine einfachere Kommunikation zwischen Entwicklern, die Patterns kennen, denn wenn Entwickler A sagt: das ist eine Factory, wird Entwickler B wissen, was gemeint ist.

Wo finde ich eine Liste über alle Designmuster im Internet? Oder zumindest die 5-10 meist verwendeten Designmuster?

Es gibt auch ein empfehlenswertes Buch mit dem Titel PHP Design Patterns (Deutsch nur) für die Sie die Codebeispiele bei http://www.phpdesignpatterns.de/auflage-2/#beispiele

Sie phpbb, Wordpress oder Joomla herunterladen (dass ich ziemlich gut kennen) verwenden, um ein Design-Muster? Wenn ja, was dann?

Wahrscheinlich, aber Auflistung jedes Muster, das eine Anwendung verwendet, ist ziemlich sinnlos. Einige Muster sind winzig, einige sind komplexer. Sie benutzen sie nicht, um sie zu benutzen, sondern um Probleme zu lösen.

Lassen Sie mich betonen: Sie verwenden sie nicht, um sie zu verwenden. Sie sind keine Art von Statussymbol. Du willst sie nicht anhäufen. Sie müssen sie sogar nicht nach dem Buch implementieren. Verwenden Sie sie gegebenenfalls mit jeder Variation, die erforderlich ist, um ein konkretes Problem in Ihrer Anwendung zu lösen.

Ich googelte MCV PHP und fand etwa 3 italienische Artikel und lesen etwa 5 der ersten Seiten auf Platz und ich habe so ziemlich nichts verstanden. Sie waren widersprüchlich und schienen mir verwirrend. Ich habe verstanden, dass es nützlich ist, Business Login, Script und View (?) Zu trennen, aber ich habe nichts bekommen.

MVC ist kein GOF-Muster. Es ist in POEAA aufgeführt, aber es ist viel älter als das. Die MVC, die man normalerweise im Web sieht, hat nichts mit dem "klassischen" MVC zu tun, da das Internet zwischen den beiden anderen liegt.

Grundsätzlich gibt es nicht viel über MVC zu wissen. Es ist ein sehr einfaches Muster. Die Idee besteht darin, eine Benutzeroberfläche in drei verschiedene Rollen aufzuteilen. Das Modell ist Ihre gesamte Geschäftslogik. Ihr Controller verarbeitet alle Anforderungen der Ansicht und der Delegierten an das Modell. Ihre Ansicht zeigt das Modell an. Sie sollten in der Lage sein, den Controller und die Ansichten zu ersetzen, ohne Ihr Modell zu berühren.

Gibt es einfache Beispiele über Designmuster und wie sie besser sind als (normale) Schreibstile?

Viel. Siehe die obigen Links für einige Beispiele. Wenn sie nicht klar genug sind, sehen Sie sich StackOverflow an und suchen nach ihren Namen. Hier

+1

+1 für "Sie verwenden sie nicht, um sie zu verwenden, sondern um Probleme zu lösen." – FrustratedWithFormsDesigner

3

Sie würden wahrscheinlich bessere Ergebnisse für MVC PHP anstelle von MCV PHP googeln. Entwurfsmuster können auf alle objektorientierten Sprachen angewendet werden, so dass Sie am besten in THE design pattern book und in objektorientierte Programmierung mit PHP suchen können.

Es gibt auch eine Artikelserie über DZone über practical PHP patterns.

+0

Die meisten Design-Muster funktionieren wunderbar in jeder Sprache, nicht nur die OOP. – tamasd

+0

Ja ... Ich bin verwirrt darüber, warum OP "MCV" anstelle von "MVC" suchen würde ... Ich hätte nicht erwartet, dass sie die gleichen Ergebnisse liefern würden. – FrustratedWithFormsDesigner

+0

Ja, Sie können Muster auf jedes Paradigma anwenden, aber die neueren Versionen von PHP funktionieren am besten mit einem objektorientierten Paradigma. – Daff

0

ich auch einen Blick auf php design patterns Liste nehmen würde Ihnen raten. Ich hoffe, Sie finden es nützlich.