Frage

Ich habe angefangen, ein paar Anwendungen in PHP zu schreiben, und ich werde mit der Sprache besser vertraut. Jemand erzählte mir von CakePhp und Codesigniter. Ich wollte ein besseres Verständnis dafür bekommen, wie diese mir helfen könnten und ob es sich lohnt, sich die Zeit zu verbringen, um einen Rahmen zu lernen?

War es hilfreich?

Lösung

Was sind die Vorteile der Verwendung von MVC -PHP -Frameworks?

Nun, es gibt viele Vorteile bei der Verwendung von PHP -Frameworks. Sehen wir uns einige der Hauptvorteile der Verwendung an.

  1. Diese PHP -Frameworks folgen einem Entwurfsmuster. Wenn Sie also ein Framework verwenden, müssen Sie der Codierungskonvention folgen, wodurch Ihr Code für zukünftige Zwecke sauber und erweiterbar macht.
  2. Die beliebten PHP -Frameworks wie CakePHP, Codesigniter, Zend Framework, Symfony folgen Modellansicht (MVC) -Entechnik (MVC), das die Geschäftslogik von der Benutzeroberfläche trennt und auch den Code sauberer und erweiterbar macht.
  3. Wie jeder erraten kann, enthalten diese Frameworks viele Bibliotheken, um Ihre Arbeit zu erleichtern. Zum Beispiel: Um ein Formular zu validieren, müssen Sie nicht so viel Code schreiben, wie Sie im normalen Codierungsszenario (ohne ein Framework) ausführen müssen, nur ein paar Zeilen von Code, die die Bibliothek aufrufen, reicht normalerweise dafür.
  4. Während der Arbeit an einem großen Projekt in einem Team ist ein MVC -PHP -Framework ein großartiges Instrument für die Entwicklung, da Sie einem Entwickler einen Teil eines Moduls für einen Entwickler zuweisen können, und die Integration ist für diese entwickelten Module auf der endgültigen Ebene recht einfach .
  5. Diese MVC -Frameworks helfen Ihnen wirklich, das Projekt schnell zu entwickeln. Wenn Sie einen Framework gut kennen, werden Sie sich nie um die Projektfrist sorgen.
  6. Die meisten dieser MVC -Frameworks verwenden einen klaren URL -Ansatz, der Ihr Webprojekt SEO -freundlich macht.

überprüfen Artikel

Andere Tipps

Meine Philosophie ist, dass Sie nur etwas verwenden sollten, wenn es ein Bedarf löst, das Sie derzeit haben.

Es gibt eine echte Tendenz, insbesondere in diesem Bereich, einfach ein Framework zu verwenden, um einen zu verwenden, oder weil Sie das Gefühl haben, etwas zu verwenden. Ich entmutige solche Praktiken. Ich denke auch, dass ich den größten Wert habe, wenn Sie die Dinge auf die harte Tour gemacht haben, damit Sie ein gutes Verständnis dafür haben, welche Probleme Sie haben und wie das Framework Ihnen helfen kann in dieser Situation. Die Rahmenauswahl hängt von der Situation ab.

Das alles gesagt, das MVC -Muster mit Webanwendungen ist nützlich, so dass es Sie sicherlich nicht schaden würde, mindestens einen zu lernen. Ich würde mich jedoch an einen ziemlich minimalistischen Rahmen halten. Codesigniter fällt hier in den Sinn.

Zuletzt ist die andere Gefahr mit Frameworks, dass sie so invasiv sein können, dass Sie nicht mehr PHP machen, dass Sie CakePhp, Symfony oder was auch immer machen. Das ist nicht unbedingt ein Problem, aber die Gefahr darin, so invasiv zu sein, ist, dass Sie in PHP keine gute Grundlage bekommen. Wenn Sie jemals ändern möchten, wird es einfach zu schwer sein, dass Sie es nie tun können.

Einer der großen Vorteile von PHP -Frameworks ist, dass sie das Neu erfinden, das Rad in einer Vielzahl von gemeinsamen Webanwendungsanforderungen neu zu erfinden. Sicherheitsprobleme, anmutige Ausnahmebehandlung, erholsame URLs und Wiederverwendbarkeit von Code auf Ihrer Website sind ziemlich universelle Überlegungen.

Es ist möglicherweise einfacher, sich mit den Werkzeugen eines Frameworks vertraut zu machen und dann zu prüfen, ob Sie das vollständige MVC -System übernehmen möchten, das es unterstützt. Für dieses Ziel würde ich vorschlagen, sich mit dem Zend -Framework vertraut zu machen. ZF arbeitet als Bibliothek von Klassen, die einzeln für bestimmte Verwendungszwecke implementiert werden können-alle von Sicherheit zu Lucene-Suche-, aber Klassen enthält Klassen, die bei zusammen verwendetem MVC-Paradigma, wenn sie zusammen verwendet werden, implementieren.

Ich möchte nur über meine eigenen Erfahrungen im Programmieren erzählen, ich bin aber immer noch Neuling

  1. Erstens, indem Sie Framework verwenden, gewöhnen Sie sich an ihren Codierungsstil/ihre Codierungsstil, was gut ist, da die meisten Framework tief darüber nachdenken, wie sie ihren Code schreiben. Kurz gesagt, ich bekomme einen besseren Stil und sauberer Code
  2. Normalerweise sind Framework mit vielen Arsenal (Plugins und oder Bibliothek) ausgestattet, die Sie im Internet finden können. Dies verkürzt Ihre Codierungszeit und verkürzt die Zeitverschwendung. Kurz gesagt, Sie können Ihre eigene kostbare Zeit über den Geschäftsprozess nachdenken
  3. Mit Open Source Framework gibt es andere Programmierer, die das Framework bereits kennen und wahrscheinlich beherrschen, und dann können Sie problemlos mit anderen zusammenarbeiten.
  4. In Wahrheit bin ich kein gut organisierter Programmierer, aber bevor ich ein Open -Source -Framework verwende. Vielleicht werden Sie wie ich mehr organisiert werden

Das ist alles, was ich für jetzt mit Ihnen teilen kann, ich bin nicht gut mit dem Schreiben auf Englisch, tut mir leid. Aber der Punkt ist, ich empfehle Ihnen, das Framework zu verwenden

Happy Coding Friend.

Ich denke, es ist zweifellos eine gute Investition, die Zeit zu verbringen, ein PHP -Framework zu lernen. Zum einen lehrt es Ihnen, wie jemand das Problem der Architektur des Frameworks, der Organisation Ihres PHP -Codes und wie Sie mit Dingen wie Sitzungen und Datenbankzugriffs organisieren können ... usw.

Wenn Sie sich zum größten Teil mit der Entwicklung von Web-Apps ernst nehmen, müssen Sie ein Framework irgendeiner Art verwenden, anstatt Ihr eigenes Framework von Grund auf neu zu schreiben.

Einige Gründe, warum Sie nicht Ihr eigenes Framework schreiben sollten:

  1. Sie erfinden das Rad erneut, wenn es schon oft vorbei ist.
  2. Sie sind nicht sehr wahrscheinlich einen besseren Job als ein Open-Source-Framework, das von vielen Entwicklern getestet und wiederholt wurde.
  3. Sie werden Ihre ganze Zeit damit verbringen, Ihr eigenes Framework zu schreiben und zu debuggen, als Sie für die Erstellung Ihrer Bewerbung ausgeben werden.

Also ja, lernen Sie ein paar Frameworks und finden Sie eine, die Ihnen am besten passt!

DICLAIMER: Ich bin kein PHP -Programmierer und habe nie eine PHP -Anwendung geschrieben. Andererseits habe ich viele PHP -CMS für meine Website und meine Einkaufswagen installiert, angepasst und verwendet.

Meiner Meinung nach leidet PHP unter schwerwiegenden Problemen. Das größte ist, dass „Framework“ ein fremdes Wort für fast alle großen und sogar erfolgreichen Projekte zu sein scheint. PHP -Code wird in der Regel schnell Spaghetti -Salat: Spaghetti HTML gemischt mit Spaghetti -Code und Spaghetti SQL.

Oscommerce, einer der erfolgreichsten Einkaufswagen aller Zeiten, ist größtenteils unheilbar. Das gilt auch für die große Mehrheit der PHP -Projekte.

Egal, ob Sie ein Framework für Ihr Projekt verwenden sollten, ich sage ja! Definitiv! Egal wie groß Ihr Projekt ist, die Verwendung eines Web -Frameworks hilft Ihnen, Ihren Code aufzuräumen und Achtungscode zu schreiben.

Es wirkt sich auch auf Ihren Programmierstil aus, auch wenn Sie kein Framework verwenden.

Durch die Verwendung von MVC-Framework wird Ihre Entwicklung erleichtert. Insbesondere datenbankbezogene Anwendungen. Es bietet Ihnen eine kristallklare Ordnerstruktur und viele Codebibliotheken. Ich würde vorschlagen, dass Sie von CodeIgniter beginnen.

Frameworks sind großartig, wenn Sie ein Team von Entwicklern haben, die an demselben Projekt arbeiten. Der MVC -Controller integriert den Designer + Programmierer wunderschön. Das Erstellen von "rahmenähnlichen" Elementen und "neu erfinden" das Rad ist jedoch keine so schlechte Idee. Wenn Sie an einem riesigen Projekt arbeiten, ist es besser, mit Ihrem Code runter und schmutzig zu machen und alles so anzupassen, dass Sie Ihren Anforderungen entsprechen. Es wird ein stärkeres Produkt, da es vollständig für das Projekt entwickelt wird.

Der folgende Beitrag ist eine Antwort auf einen Thread, der sofort geschlossen wurde, als ich meine Antwort auf Renderins Beitrag unter: https://stackoverflow.com/questions/3265509/what-are-the-tenefits-opt-using-a-programming-frameworks . Der Thread wurde geschlossen und in den Kommentaren wurde ein Link auf die Stelle gebracht, um ihn hierher zu leiten, also werde ich versuchen, seine Frage hier zu beantworten. In Anführungszeichen unten war das, was ich vorlegen wollte:

"Erlauben Sie mir, Joomla! Ihnen und Ihrer Organisation zu empfehlen. Bei meinem letzten Arbeitgeber musste ich PHP abholen (ohne vorherige Erfahrung damit) und nach ungefähr anderthalb Monaten manuelles Handcodieren von Handcodierung von PHP, ich wurde beauftragt, eine Joomla! Komponente zu codieren, die den Benutzern Videos serviert. Ich musste auch ein Backend erstellen, mit dem Nicht-Techie-Administratoren kategorisieren, bearbeiten, löschen usw., die Videos sowie bereitstellen können Miniaturansichten für sie usw.

Um nun einen Arbeitsprototyp dafür zu erhalten, dauerte es ungefähr zwei Monate (ich war zu dieser Zeit Praktikant und arbeitete nur 20 bis 24 Stunden pro Woche Sie hätten wahrscheinlich viel schneller als ich einen funktionierenden Prototyp haben können. "

Jetzt als Antwort auf das OP dieses Threads: Es lohnt sich definitiv, die Zeit zum Erlernen eines Frameworks zu verbringen (ich habe es bis zu meinem Beitrag nicht hier erwähnt gesehen, also werde ich es noch einmal sagen: Für ein Php-Ramework würde ich empfehlen Joomla!).

Einige der Vorteile des Lernens eines Rahmens (eine Open-Source-Einheit wie Joomla!)

  • Eine riesige Gemeinschaft von Menschen, die helfen können, Ihre Fragen zu beantworten (neben dem Stackoverflow; lol)
  • Zugriff auf den gesamten Quellcode, damit Sie ihn anpassen können, wie Sie möchten.
  • Viele kostenlose (und bezahlte) Plugins von Drittanbietern, um die Funktionalität zu verbessern.
  • Viele Tutorials.
  • Frameworks kümmern sich um eine Menge alltäglicher Aufgaben automatisch.

In Bezug auf Bullet Four: Joomla! Kümmert sich um Dinge für Sie wie die Datenbankverbindungsverwaltung und dergleichen, damit Sie nicht alle Ihre eigenen benutzerdefinierten Funktionen erstellen müssen Aufzeichnung, Liste der Datensätze usw.), Sie platzieren einfach Anrufe an ihre. Die API von Joomla! Ist offen im Web ihrer Website verfügbar: http://api.joomla.org/

Wie auch immer, hoffentlich hilft dies zu rendern, und jeder andere, der sich über Frameworks (insbesondere PHP-bezogene) fragt.

Ein Framework für mich ist ein gutes Werkzeug, um Sie zu beschleunigen und Ihre Zeit für Sie zu sparen . Sie werden dafür bezahlen, wenn Sie dies tun.

Für mich ist das Framework gut, wenn Sie bereits ein Erfahrungsprogrammierer sind und die Berührung oder das Gefühl haben, dass Sie wissen, wie das Framework unten in groben funktioniert (nur ungefähr genau) und zuversichtlich, Sie zu sagen, wenn ich möchte, dass ich neu erstellen kann Sortieren Sie wie dieses Framework. Dann ist ein Rahmen ein Expressauto für Sie und es wird Ihnen nicht den Schmerz verursachen, wenn Sie etwas tun möchten, für das der Rahmen nicht bereit ist oder etwas Ungewöhnliches oder anderes seltsames.

Wenn Sie dies nicht tun, versuchen Sie besser, Ihr Problem mit einem einfachen alten PHP zu lösen und den Schmerz, die Sprache an Ihrem Finger zu spielen, durch gute Programmierpraxis und Paradigma und Muster erfahren. Andernfalls werden Sie einer der frischen Absolventen sein, die sich einem großen Team anschließen, und ihr erstes Projekt arbeitet an einem Projekt mit einem sehr leistungsstarken Framework, das sehr weniger Codierung erfordert und mehr beim Konfigurieren und Patchen. Sie werden niemals ein guter Programmierer sein und können keine gute PHP -Anwendung von Grund auf neu erstellen.

Wie, wenn Sie in einer Organisation sind, die ein komplexes Framework verwenden?

Verbringen Sie einige Ihrer eigenen Zeit, um das Problem in diesem Fall in diesem Fall PHP zu lösen, bis Sie die Berührung des oben erwähnten, was ich oben erwähnt habe. Andernfalls werden Sie nie zuversichtlich im Programmieren und sagen Sie sich immer wieder: "Ich weiß nur, dass dies die Schritte sind, die es sind, es zu tun." Das ist keine Programmierung (etwas extrem :)).

Komplexer vs. einfacher Framework

Ein Teil des Rahmens, obwohl sie von vielen verwendet werden, sind nur zu überwältigend. Es gibt zu viele Schichten, die Sie im Überblick verlieren werden. Diese Frameworks sind normalerweise für etwas, das Stereotyp, viele Konfigurationsdateien ist, und wenn Sie etwas Ungewöhnliches tun möchten, sind Sie besser der Framework -Autor (ein bisschen übertrieben hier :)). Ich möchte hier keinen Namen erwähnen, aber Sie werden es wissen, wenn Sie auf einen stoßen.

CodeIgniter ist ein Produkt des Ellislab -Teams und sein Hauptprodukt ist Expression Engine, die mit Codesigniter entwickelt wurde.

Nach einiger Zeit der Verwendung von CI stellte ich fest, dass die Verwendung von YII -Framework bequemer ist. Es hat viele Verlängerungen. Und nicht so schwer mit guten Dokumenten zu verstehen.

CakePhp, denke ich, in der Nähe von Codesigniter.

Ich würde dringend empfehlen, ein Framework für mehr als ein einfaches Skript zu verwenden. Es mag manchmal übertrieben erscheinen, aber ich würde argumentieren, dass es nicht so ist. Ich hatte ein paar Mal, in denen ich dachte, ich brauche es nicht (einfache App, Basic Crud in 3 dB -Tabellen).

Kurz darauf fand ich das manuelle MySQL_Sescape_String, XSS -Filterung und so weiter. Von da an schreibe ich nur nicht-Framework-Code, wenn ich denke, dass das Setup mehr als der Arbeitscode benötigt. Und das passiert sehr selten.

Wenn ich ein PHP -Framework empfehlen müsste, müsste ich mit Codesigniter- oder YII -Framework gehen, je nachdem, wie komplex Ihr Projekt ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top