Fähigkeiten

Mit Fähigkeiten werden aus Sicht des Entwicklers einer Funktion Fähigkeiten der Funktion definiert. So kann zum Beispiel die Versandfunktion im Warenausgang die Möglichkeit haben Paketaufkleber zu drucken.

Der Entwickler definiert nun diese Fähigkeit seiner Funktion in einem Interface Alvine\Commerce\Capability\Shipping\Provider\GetLabel.

interface GetLabel extends \Alvine\Commerce\Capability {
    public function getLabel(): \Alvine\Types\Collection;
}

Ein Entwickler der ein Versandplugin schreiben möchte, kann nun eine Klasse schreiben, die dieses Interface implementiert.

class MyShippingPlugin implements Alvine\Commerce\Capability\Shipping\Provider {

   public function getLabel(): \Alvine\Types\Collection {


      return .....
   }


}