Ich bin neu in der Webprogrammierung und lerne gerade etwas über PHP. Ich würde gerne wissen, wann ich ein PHP-Framework wie CakePHP verwenden muss. Was bieten mir dieses und ähnliche PHP-Frameworks? Und ist es wirklich wichtig, ein Framework zu verwenden, um professionell zu sein?
- Und kann ich mein eigenes Framework erstellen, um die Funktionen bereitzustellen, die mir gefallen?
php
frameworks
Goma
quelle
quelle
Antworten:
Wenn Sie mit PHP vertraut sind, können Sie ein Framework verwenden. Und Sie sollten sie immer verwenden:
Sie können Ihr eigenes Framework erstellen, aber ich würde es definitiv nicht empfehlen. Es ist kompliziert, es gibt bereits viele gute Frameworks und es ist unwahrscheinlich, dass Sie eine fehlende Funktion finden. Außerdem bieten sie häufig Möglichkeiten, eigene Funktionen hinzuzufügen, ohne dass eine ganz neue erstellt werden muss.
quelle
Erstellen Sie ein paar Seiten ohne Framework ... Sie werden im Wesentlichen durch Ausprobieren mit dem Schreiben Ihres eigenen Frameworks beginnen. Wechseln Sie anschließend zu einem Framework und genießen Sie, wie viel Zeit Sie sparen. Der Versuch, ein eigenes Framework zu erstellen, kann Ihnen einige Dinge beibringen und Ihnen dabei helfen, die bereits vorhandenen Frameworks zu schätzen.
Als ich zum ersten Mal mit PHP anfing, hielt ich Frameworks für eine komplizierte Zeitverschwendung. Jetzt benutze ich CodeIgniter auch für einfache Projekte. Es dauert ungefähr 1 Minute, bis Sie den Betrieb aufgenommen haben. Sie haben bereits eine Menge großartiger Bibliotheken zur Verfügung. Wie bereits erwähnt, sind die meisten Frameworks erweiterbar, sodass Sie jederzeit die gewünschten Funktionen hinzufügen können.
quelle
Wie Niphra bereits sagte, verwenden Sie ein Framework nur, wenn Sie PHP ohne Framework verwenden können ( dh , Sie können auf die Datenbank zugreifen, Header und Inhalte senden, Zeichenfolgen verarbeiten, Daten bearbeiten usw.). In Bezug auf Ihre Fragen:
Wann muss ich ein PHP-Framework wie CakePHP verwenden? Wenn Ihr Projekt über einige PHP-Dateien hinauswächst; In dem Moment, in dem Sie beginnen, die Logik stark in verschiedene Elemente zu unterteilen und Funktionen (Sitzungen usw.) zu modularisieren / gemeinsam zu nutzen, sollten Sie ein Framework verwenden.
Was bieten mir dieses und ähnliche PHP-Frameworks? Abstraktion; Anstatt direkt mit der Datenbank zu interagieren, können Sie mit einem Object-Relational Mapping (ORM) die Struktur und die Beziehungen zwischen Ihren Daten in der Datenbank verwalten. Die meisten Frameworks in vielen Sprachen bieten ORMs, um die Interaktion mit der Datenbankebene Ihrer Anwendung zu vereinfachen. In ähnlicher Weise trennen Frameworks häufig die Ebenen, in denen auf Benutzerinteraktionen reagiert wird. Die gebräuchlichste Trennung ist das Model View Controller (MVC) -Paradigma, das, um es kurz zu machen, die Datenbanklogik in das Modell (in vielen Fällen eine Schnittstelle zum ORM) abstrahiert, Anforderungen verarbeitet und mit Modellen in den Controller interagiert Rendering des eigentlichen HTML / PDF / Image / etc. in die Ansicht. Frameworks stellen häufig andere Tools wie Routing bereit (um eine komplexe Verarbeitung des Anforderungs-URI zu ermöglichen (z. B. Zuordnung der Anforderung).http://example.com/users/1 "an den Controller Users, der dann das Benutzermodell mit der ID 1) und einer Abstraktion von Sitzungen und anderen Grundstrukturen nachschlägt.
Und ist es wirklich wichtig, ein Framework zu verwenden, um professionell zu sein? Nicht unbedingt; Rahmenbedingungen erleichtern das Leben; Aber man muss keinen benutzen, um ein Profi zu sein. Frameworks bieten eine praktische Abstraktion und Standardisierung, sind jedoch in den meisten Fällen nicht erforderlich.
quelle
Nachdem ich einige der Antworten gelesen habe, möchte ich zuerst sagen, dass Sie nicht oft eine große Auswahl haben, welches Framework Sie verwenden werden oder ob Sie eines verwenden werden oder nicht (als Profi). Ich möchte Sie nicht einschüchtern, aber Sie müssen ein ausreichendes Verständnis von PHP entwickeln, um von einem Framework zu einem anderen wechseln zu können und gleichzeitig mehr als ein Framework zu verwenden.
Darauf gibt es keine allgemeingültige Antwort. Als Fachmann werden Sie beauftragt, bestimmte Probleme zu lösen. Dies ist der entscheidende Faktor für das Wann und Was eines jeden Projekts, insbesondere wenn ein Kunde eine bestimmte Nachfrage hat. Aber im Allgemeinen werden Sie immer eine Form von Framework mit PHP verwenden, es sei denn, Sie ändern oder erweitern eine bereits vorhandene Anwendung, die über ein eigenes Framework verfügt (z. B. Wordpress oder PHPBB).
Wie von dirk gesagt, bieten sie Abstraktion. Dies bedeutet, dass sie gemeinsame, mehrstufige Verfahren anwenden und versuchen, diese so einfach und rational wie möglich zu gestalten. Kurz gesagt, sie versuchen, Lösungen für allgemeine Aufgaben vorzustellen, bei denen nur Wasser hinzugefügt werden muss.
Generell nein ist es nicht wichtig , zu verwenden , einen Rahmen ein Fachmann zu sein. Aber realistisch gesehen haben Sie keine große Karriere, wenn Sie nicht mit ein paar gängigen Frameworks vertraut sind. PHP ohne Framework ist wie C ++ ohne eine Standardbibliothek. Sie brauchen es nicht, und Sie können sogar mehr ohne es tun, da Sie direkt die untergeordneten Bausteinfunktionen der Sprache verwenden, aber Sie werden viel länger brauchen, um dasselbe zu tun.
Ja. Tatsächlich werden Sie dies wahrscheinlich auch dann tun, wenn Sie es ungewollt tun. Damit meine ich kein umfangreiches Allround-Framework, sondern eher eine Tooltasche mit grundlegenden Funktionen und Skripten, die Aufgaben ausführen, die nicht allgemein oder allgemein genug sind, um von einem durchschnittlichen Framework verarbeitet zu werden. Meins besteht im Wesentlichen aus verschiedenen Dateisystemen, Prozesshandhabungen und rex-ex-tid-Bits mit einigen verschiedenen Dienstprogrammen für das Aufrollen und Streaming / Socket.
quelle
Häufig von einer Person, die jahrelang meine eigenen Methoden ausprobiert hat, um mit einer Datenbank und mit Online-APIs zu sprechen, und erst jetzt anfängt, Frameworks zu verwenden, verwenden Sie sie, wenn Sie zumindest ein Verständnis dafür haben, was sie tun, wenn dies möglich ist.
Wechseln Sie nicht sofort zu RedBean, wenn Sie zum ersten Mal mit einer Datenbank arbeiten, sondern arbeiten Sie zuerst manuell mit der Datenbank. Auf diese Weise haben Sie ein umfassendes Verständnis dafür, wie Sie die Datenbank tatsächlich abrufen und bearbeiten, was die Skalierbarkeit erheblich verbessern kann. Sie können dann auch Ihre eigene Lösung erstellen, wenn das Framework, das Sie verwenden, nicht das tut, was Sie tun müssen.
Wenn Sie jedoch verstanden haben, was los ist, verwenden Sie ein Framework! Es macht die Dinge so viel einfacher. Die Verrücktheit mit Speichern eine Abfrage dann mit den Ergebnissen Schleifen über
mysql_fetch_assoc
alles weg, zu einem einzigen Aufruf reduziert:$book = R::load( "book", $id )
. Sie werden viel produktiver und können zukünftige Fehler beheben oder zukünftige Funktionen viel einfacher hinzufügen.quelle
Verwenden Sie ein Framework, wenn Sie die zugrunde liegenden Technologien gut genug kennen, um zu wissen, was das Framework für Sie bewirkt und warum dies gut (oder schlecht) ist.
Ein Framework ist so etwas wie ein Meta-Tool, mit dem Sie ein bisschen schneller mit Ihren Tools (Sprache, Datenbank) arbeiten können, ohne sich um einige Details Ihrer Arbeit kümmern zu müssen. Das ist gut, wenn Sie sich wirklich auskennen Werkzeuge.
Was Sie NICHT wollen, ist, dass Sie das Framework statt der Tools erlernen, sich in eine bestimmte Art und Weise einarbeiten und am Ende die zugrunde liegenden Sprachen und Konzepte nicht wirklich beherrschen - es sollte eine sein Werkzeug, keine Krücke.
quelle
Wenn Sie feststellen, dass Sie immer wieder dasselbe tun, schauen Sie sich um und sehen Sie, ob es ein Framework gibt, das dieselben redundanten Aufgaben ausführt, die Sie am Ende selbst erledigt hätten. Verwenden Sie nicht nur ein Framework wegen des Hype. Ich persönlich mag CodeIgniter und Rasmus Lerdorfs "No-Framework PHP MVC Framework" http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
quelle
Ich würde empfehlen, sorgfältig zu überlegen, warum Sie das Framework x, y oder z verwenden. Jedes Framework bietet nicht nur Funktionen, die Sie nicht selbst implementieren müssen, sondern auch eine Denkweise. Schauen Sie sich Spring, JEE, Rails oder Django an. Vier Frameworks, die in kurzer Zeit ausreichen, um eine Webanwendung zu starten.
Aber alle vier vertreten ihre eigene Denkweise, wie Web-Apps erstellt werden sollten. Und wenn das nicht Ihren Bedürfnissen entspricht oder Ihrem Geschmack entspricht, fällt es Ihnen schwer, die Dinge weiterzuentwickeln.
Dies war ein sehr radikaler Vergleich, aber vielleicht passt der Aufbau einer kleinen Bibliothek besser zu Ihren Bedürfnissen. Aber wenn Sie die Frameworks kennen, können Sie auf jeden Fall in größeren Teams arbeiten oder neue Jobs finden, da dies zeigt, dass Sie an der Softwareentwicklung insgesamt interessiert sind.
quelle
Frameworks sind von Anfang an immer gut zu verwenden. Es fördert die Wiederverwendbarkeit von Code, verbessert die Lesbarkeit und spart ein wenig Entwicklungszeit.
Ich bin nicht sehr erfahren mit PHP, aber ich würde jede Framework-Nutzung fördern.
quelle