2012-04-10 13 views
6

Manchmal gibt es einige Funktionen oder Verfahren, die ich als Helfer und Dienstprogramme schreibe, um alle meine apps zu verwenden ... Jetzt fange ich an, Symfony 2 zu verwenden, und ich don Ich weiß nicht, was der beste Weg ist, nach der Symfony 2 Philosophie von Bundles ... Ich möchte nicht ein ganzes Bundle erstellen müssen, nur um vielleicht ein paar Funktionen zu speichern, aber wenn es der beste Weg ist, den ich machen werde es. Vielen Dank!Symfonian Weg, benutzerdefinierte Dienstprogramme und Helfer in symfony zu speichern 2

Antwort

8

Wenn Ihre Dienstprogramme und Helfer sind nicht Symfony spezifisch, eine Bibliothek in einem separaten Repo erstellen und an Anbieter installieren Sie die deps mit dem bin/vendors install Befehl oder über Composer, die die Standard-Art und Weise der Verwaltung Anbieter seit Symfony 2.1 werden wird.

Wenn Sie möchten, dass Ihre Bibliothek nahtlos in Symfony integriert wird, erstellen Sie ein Paket in einem anderen separaten Repo und installieren Sie es für die Anbieter. Auf diese Weise kann Ihre Bibliothek außerhalb von Symfony-Projekten verwendet werden, bietet jedoch einige Vorteile, wenn sie in Symfony-Umgebungen verwendet wird.

Siehe auch ein etwas related question.

+0

Also, ich sollte sowieso ein Paket machen, aber ich sollte es im Vendor-Ordner installieren, genau wie alle 3rd-Party-Pakete, die ich in meinem Projekt installiere? habe ich recht? diese neue Art, Projekte zu strukturieren, scheint wirklich gut zu sein, aber ein wenig kompliziert ... Ich kenne Composer überhaupt nicht ... Haben Sie eine Dokumentation darüber, wie man mit Symfony den Composer verwendet? Wie sollte ich die Verzeichnisstruktur in diesem neuen Anbieter-seitigen Bundle organisieren? Sorry, ich beginne gerade mit symfony 2 ... vielen Dank !!! – Throoze

+1

Komponist ist unkompliziert. Sie müssen nur eine 'composer.json'-Datei erstellen, in der Sie Abhängigkeiten und Projektinformationen angeben. Siehe [Erste Schritte] (http://getcomposer.org/doc/00-intro.md), [Grundlegende Verwendung] (http://getcomposer.org/doc/01-basic-usage.md) und dieses [Beispiel ] (https://github.com/noislabs/SmartyBundle/blob/master/composer.json) (beachte die Abhängigkeit von 'symfony/framework-bundle'). – noisebleed

+0

Wenn Ihr Paket für mehrere Projekte wiederverwendet werden soll, dann installieren Sie es wie jedes andere Paket von Drittanbietern. Am besten lernen Sie, wie Sie Ihre Bundles erstellen, indem Sie zunächst eine Theorie aus den Symfony-Dokumenten ableiten und dann die vorhandenen Pakete betrachten, um zu sehen, wie sie implementiert werden. Und kümmern Sie sich nicht um Composer, bis Symfony 2.1 veröffentlicht ist. –