Pluginübergreifener Namespace / Sourcen

Hallo,

ich entwickel derzeit ein Plugin welches aus 2 einzelnen Plugins besteht. Es gibt eine Art Container-Plugin (A) und dann gibt es ein Plugin (B) welches bestimmte Sourcen aus Plugin (A) nutzen soll. Ich möche dies über Namesspaces lösen.

Als Code habe ich folgendes:

PluginA / Bootstrap.php

class Shopware_Plugins_Backend_PluginA_Bootstrap extends Shopware_Components_Plugin_Bootstrap {
	...
	
    public function afterInit() {
        $this->Application()->Loader()->registerNamespace('Shopware\Plugina', $this->Path());
    }
	...
}

 PluginA / Lib/Client.php 

namespace Shopware\Plugina\Lib;

class Client {
	...
}

Plugin B / Bootstrap.php

class Shopware_Plugins_Backend_PluginB_Bootstrap extends Shopware_Components_Plugin_Bootstrap {
	...
	
    public function afterInit() {
        $this->Application()->Loader()->registerNamespace('Shopware\Plugina', $this->Path().'../PluginA'); // Komplette Angabe mit DOCUMENT_ROOT funktioniert auch nicht
    }
	...
}

Wenn ich nun über einen Controller über PluginB auf den Client zugreifen möchte, erhalte ich immer die Meldung:

PHP Fatal error:  Class ‘Client’ not found

Gibt es hier einen Lösungsansatz oder übersehe ich etwas grundlegendes?

Grüße
 

Bevor du den Client constructest ruf mal Shopware()->Plugins()->Backend()->PluginA() auf

Hallo Shyim,

vielen Dank für den Tipp. Hat super funktioniert  Thumb-Up

Grüße
Andreas