6 Stimmen

Abhängigkeiten Symfony2

Ich frage mich, ob es einen geeigneten Weg gibt, die Abhängigkeiten zu überprüfen.

Ich habe zum Beispiel eine NewsBundle . Jetzt muss ich nachsehen, ob es eine CommentBundle . Wenn es einen gibt, sollte er ein paar mehr Codes ausführen.

Irgendwelche Vorschläge?

28voto

Derek Stobbe Punkte 17451

Zusätzlich zur Antwort von markymark können Sie prüfen, ob eine bestimmte Dienstleistung aus Ihrem Controller (oder einem anderen containerfähigen Code) mit dem folgenden Schnipsel besteht:

if ($this->container->has('foo_service.alias'))
{
    // service is loaded and usable
}

Wenn Sie sich über den genauen Alias eines bestimmten Dienstes nicht sicher sind oder einfach nur zum Spaß, können Sie den folgenden Konsolenbefehl ausführen php app/console container:debug um alle für den Container registrierten Dienste zu sehen.

2voto

markymark Punkte 629

Sie könnten class_exists für die Haupt-Bundle-Klasse verwenden, die jedes Bundle haben sollte.

Zum Beispiel:

if (class_exists('Acme\CommentBundle\AcmeCommentBundle'))
{
    // Bundle exists and is loaded by AppKernel...
}

0voto

Sorin S. Punkte 229

En Kernel Klasse enthält eine Liste von Hilfsmethoden, mit denen überprüft werden kann, ob eine bestimmte Klasse Teil eines aktiven Bundles ist oder ob ein Bundle registriert ist.

public BundleInterface[] getBundles()
    Gets the registered bundle instances.

public bool isClassInActiveBundle(string $class)
    Checks if a given class name belongs to an active bundle.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X