Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Symfony Grundkurs

Was ist ein Bundle und wie wird es erzeugt?

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Ein Bundle beinhaltet einen abgeschlossenen Aufgabenbereich. Symfony enthält einen Konsolenbefehl, mit dessen Hilfe Sie schnell ein neues Bundle erzeugen können.
07:32

Transkript

Ein "Bundle" ist innerhalb von Symfony das, was in anderen Applikationen ein Plug-in wäre. Das behauptet zumindest Symfony. Es behauptet auch, dass eigentlich alles innerhalb von Symfony aus einem Bundle besteht. Es liegt also auf der Hand, dass wir auch für den Putzplan ein eigenes Bundle erzeugen wollen. Ein Bundle folgt ein paar Richtlinien, die wir uns im Vorfeld anschauen wollen. Und zwar braucht ein Bundle natürlich einen eigenen Namen. Dieser Name ist einer gewissen Konvention unterworfen. Falls Sie sich dafür interessieren, wie ein Bundle in "best practice" aussehen könnte, dann sehen Sie sich doch die "Documentation" an. Unter der Dokumentation finden Sie dann unter dem Bereich "Bundles" eben auch den Beitrag über "Best Practices". Was nämlich bei dem Bundle wichtig ist, ist der Namensraum. Und die Art und Weise wie hier mit Namensräumen gearbeitet wird, unterliegt einer eigenen Spezifikation und sorgt dann eben dafür, dass man diese Klassen aufrufen kann, ohne dafür einen include-Befehl verwenden zu müssen, zum Beispiel. Die Benennung folgt also einem bestimmten Muster. Im Namensraum selbst kommt zuerst der Firmenname, das heißt, wir gehen davon aus, nachdem es ja auch Bundles von Drittanbietern geben kann, dass hier mal der Firmenname steht. Ich werde mich bei meinem Bundle dann auch auf diesen Dummy-Namen "Acme" zurückziehen, dann kommt die Bundle-Bezeichnung und zu guter Letzt der Name des Bundles. Wobei der Name des Bundles wieder in sich selber am Schluss das Wort "Bundle" beinhalten muss. Der Klassenname rekrutiert sich aus diesen Namespace-Gegebenheiten und wäre in diesem Fall dann eben zuerst der Name des Erzeugers, dann der Eigenname des Bundles mit der Endung "Bundle" hinterher. Es besteht die Möglichkeit, jetzt quasi zu Fuß ein neues Bundle einzurichten. Es gibt aber auch den eher komfortableren Weg, ein Bundle mithilfe der eingebauten Konsolen-Möglichkeiten von Symfony einzurichten und das wollen wir jetzt machen. Das heißt, ich werde jetzt mal wieder in meinen "htdocs"-Ordner gehen, wechsle direkt in mein Verzeichnis hinein und öffne jetzt hier eben eine neue Konsole. Und das, was ich jetzt brauche, ist ein Aufruf mithilfe von "php" und was ich aufrufen möchte, ist die eigene "app/console". Bevor ich jetzt noch irgendwelche Befehle weitergebe, drücke ich hier jetzt Enter und bekomme jetzt damit eine Übersicht über die Befehle, die ich mithilfe von "app/console" absetzen kann. Hier haben Sie die verfügbaren Kommandos und eins der Kommandos ist eben das "generate"-Kommando und das ist das was wir wollen, nämlich "generate:bundle". Wir wollen ja ein Bundle erzeugen. Sogar wenn ich jetzt noch nicht sicher wäre, wie genau ich dieses "generate:bundle" einsetzen kann, kann ich das Ganze noch erweitern, indem ich sage: "php app/console". Jetzt weiß ich schon, es heißt "generate:bundle", aber wenn ich mir nicht sicher bin, kann ich immer noch "--help" verwenden. Ein weiterer Vorteil nämlich von der Kommandozeile ist, dass es hier eine eingebaute Dokumentation gibt, also auch eine eigene Hilfsfunktion. Und hier bekomme ich jetzt die unterschiedlichen Optionen, die ich noch mitangeben kann und das, was ich auf jeden Fall angeben möchte, ist diese Option mit dem "namespace", eben weil ich Ihnen ja zuerst schon erzählt habe, dass der Namespace zur Folge hat, dass die Klasse dann leichter aufgerufen werden kann. Gut, ich fühle mich jetzt im Großen und Ganzen gut versorgt. Sie können sich selbst in Ruhe die einzelnen Möglichkeiten anschauen, und setze jetzt meinen Befehl ab. Also, ich nehme wieder: "app/console generate:bundle", aber jetzt sage ich: "--namespace=" und mit dem Istgleichzeichen weise ich jetzt meinen Namespace zu, und zwar wird das eben dieser Dummy-Firmenname "Acme" sein und mein Bundle soll "plan" heißen: "planBundle". Es entspricht jetzt der guten Lesbarkeit, dass ich das "P" von Plan großschreibe, und das bestätige ich jetzt mit Enter. Und werde jetzt in mehreren Schritten durch das Erstellen meines Bundles geführt. Zuerst werde ich gefragt, ob ich möchte, dass das Bundle auch in anderen Applikationen zur Verfügung stehen kann. Dadurch dass ich jetzt meinen Firmennamen dazugesagt habe, könnte ich das tun, aber Acme ist ja nur ein Dummy-Name, also sage ich: Nein. Nachdem hier nein schon vorgeschlagen wird, muss ich nur noch die Enter-Taste drücken, um das Ganze zu bestätigen. Hier werde ich jetzt nochmal gefragt, ob ich möchte, dass mein Bundle-Name tatsächlich "PlanBundle" heißt, im Verzeichnis "Acme". Das bestätige ich wieder einfach mit Enter. Hier ist noch einmal der Bundle-Name. Ich bestätige es mit Enter. Jetzt werde ich gefragt, ob ich möchte, dass mein Bundle im "src"-Verzeichnis [Source-Verzeichnis] zu liegen kommt: Ja, das möchte ich. Und was hier jetzt gefragt wird, ist, die Art und Weise mit welchem Format ich arbeiten möchte und ich möchte mit einer "annotation" arbeiten. Also auch das bleibt gleich und damit sind die Fragen alle durchgefragt. Als Bestätigung dessen, dass alles gut gegangen ist, bekomme ich den Eintrag: "Everything ist OK! Now get to work :)" Gut, wunderbar. Ich schließe also jetzt meine Kommandozeile, lege mein "htdocs"-Verzeichnis wieder zur Seite und wenn ich jetzt mein Source-Verzeichnis öffne, habe ich neben dem ursprüngliche "AppBundle" hier tatsächlich mein "Acme" und innerhalb von Acme habe ich mein "PlanBundle". Das heißt, ich könnte noch zusätzliche Bundles innerhalb dieser Firmenbezeichnung anlegen, aber mein PlanBundle wird mir völlig reichen und dieses PlanBundle hat jetzt auch schon die grundlegendsten Einstellungen mitbekommen, nämlich einen eigenen "DefaultController", davon werden wir später noch hören, und auch eine eigene Konfiguration, bzw. eine eigene View, die eben mit Default wieder ausgegeben wird und eine neue Index-Datei stellt. Diese neue Index-Datei hat selbst jetzt noch nicht viel an Inhalt. Wenn ich sie aufrufe, dann sehen Sie, dass eigentlich als Einziges ausgegeben werden soll: "Hello World!"

Symfony Grundkurs

Steigen Sie in die moderne und flexible PHP-Entwicklung mit dem praktischen Framework ein.

2 Std. 35 min (34 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:18.01.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!