Kraken\Container\Service\ServiceSorter::orderProvider PHP Method

orderProvider() private method

private orderProvider ( Kraken\Container\ServiceProviderInterface $provider ) : string[]
$provider Kraken\Container\ServiceProviderInterface
return string[]
    private function orderProvider(ServiceProviderInterface $provider)
    {
        $localOrder = [];
        $requires = $provider->getRequires();
        $provides = $provider->getProvides();
        if (!empty($provides)) {
            foreach ($provides as $resource) {
                $localOrder = array_merge($localOrder, $this->orderResource($resource));
            }
        } else {
            foreach ($requires as $resource) {
                $localOrder = array_merge($localOrder, $this->orderResource($resource));
            }
            $localOrder[] = get_class($provider);
        }
        return $localOrder;
    }