Kategorien
Yii Framework

Integration von Vendor-Bibliotheken in das Yii Framework

Für die Nutzung von Fremd-Bibliotheken wie Facebook for PHP SDK innerhalb des Yii-Frameworks sieht die Ordner-Struktur den Ordner vendors vor in protected/vendors.
Dorthin können in Bibliotheken in einen eigenen Unterordner kopiert werden.
Für die Nutzung der Bibliothek gibt es 2 Möglichkeiten:

Die Einbindung in das Autoloading

Diese hat den Vorteil, dass sich nciht mehr um das Einbinden der Bibliothek bei der Benutzung an verschiedenen Stellen innerhalb der Applikation gekümmert werden muss.
Der Nachteil ist, dass das Autoloading von allen Komponenten länger dauert, weil ein Pfad mehr gescannt werden muss nach der passenden Klasse.
Dazu kann in der config/main.php angepasst werden:

 'import'=>array(
    'application.vendors.facebook.*',
 ),

Direktes Laden bei Benutzung der Bibliothek

Wenn die Bibliothek nur an überschaubaren Zeitpunkten benutzt wird lohnt es sich die Bibliothek zur Laufzeit direkt zu laden mit dem import Befehl:

Yii::import('application.vendors.facebook.facebook);

oder direkt mit

require_once 'vendors/myFacebook/facebook.php';

einzubinden, besonders , wenn Dateiname und Klassenamen nicht übereinstimmen, was eine Konvention des Yii-Frameworks ist.