public static function fromArray(array $data): Descriptor
    {
        // Default values
        $name = '';
        $configurationRootName = '';
        $rootNamespace = '';
        $path = '';
        $parentBundleDescriptor = null;
        $childBundleDescriptor = null;

        // Grab values from provided array
        if (array_key_exists('name', $data) && !empty($data['name'])) {
            $name = $data['name'];
        }

        if (array_key_exists('configurationRootName', $data) && !empty($data['configurationRootName'])) {
            $configurationRootName = $data['configurationRootName'];
        }

        if (array_key_exists('rootNamespace', $data) && !empty($data['rootNamespace'])) {
            $rootNamespace = $data['rootNamespace'];
        }

        if (array_key_exists('path', $data) && !empty($data['path'])) {
            $path = $data['path'];
        }

        if (array_key_exists('parentBundleDescriptor', $data) && !empty($data['parentBundleDescriptor'])) {
            $parentData = $data['parentBundleDescriptor'];
            $parentBundleDescriptor = static::fromArray($parentData);
        }

        if (array_key_exists('childBundleDescriptor', $data) && !empty($data['childBundleDescriptor'])) {
            $childData = $data['childBundleDescriptor'];
            $childBundleDescriptor = static::fromArray($childData);
        }

        return new static(
            $name,
            $configurationRootName,
            $rootNamespace,
            $path,
            $parentBundleDescriptor,
            $childBundleDescriptor
        );
    }
public static function fromArray(array $data): Descriptor
    {
        // Default values
        $name = '';
        $configurationRootName = '';
        $rootNamespace = '';
        $path = '';
        $parentBundleDescriptor = null;
        $childBundleDescriptor = null;

        // Grab values from provided array
        if (array_key_exists('name', $data) && !empty($data['name'])) {
            $name = $data['name'];
        }

        if (array_key_exists('configurationRootName', $data) && !empty($data['configurationRootName'])) {
            $configurationRootName = $data['configurationRootName'];
        }

        if (array_key_exists('rootNamespace', $data) && !empty($data['rootNamespace'])) {
            $rootNamespace = $data['rootNamespace'];
        }

        if (array_key_exists('path', $data) && !empty($data['path'])) {
            $path = $data['path'];
        }

        if (array_key_exists('parentBundleDescriptor', $data) && !empty($data['parentBundleDescriptor'])) {
            $parentData = $data['parentBundleDescriptor'];
            $parentBundleDescriptor = static::fromArray($parentData);
        }

        if (array_key_exists('childBundleDescriptor', $data) && !empty($data['childBundleDescriptor'])) {
            $childData = $data['childBundleDescriptor'];
            $childBundleDescriptor = static::fromArray($childData);
        }

        return new static(
            $name,
            $configurationRootName,
            $rootNamespace,
            $path,
            $parentBundleDescriptor,
            $childBundleDescriptor
        );
    }
public static function fromArray ( array $ data ) : Descriptor { // Default values $ name = '' ; $ configurationRootName = '' ; $ rootNamespace = '' ; $ path = '' ; $ parentBundleDescriptor = null ; $ childBundleDescriptor = null ; // Grab values from provided array if ( array_key_exists ( 'name' , $ data ) && ! empty ( $ data [ 'name' ] ) ) { $ name = $ data [ 'name' ] ; } if ( array_key_exists ( 'configurationRootName' , $ data ) && ! empty ( $ data [ 'configurationRootName' ] ) ) { $ configurationRootName = $ data [ 'configurationRootName' ] ; } if ( array_key_exists ( 'rootNamespace' , $ data ) && ! empty ( $ data [ 'rootNamespace' ] ) ) { $ rootNamespace = $ data [ 'rootNamespace' ] ; } if ( array_key_exists ( 'path' , $ data ) && ! empty ( $ data [ 'path' ] ) ) { $ path = $ data [ 'path' ] ; } if ( array_key_exists ( 'parentBundleDescriptor' , $ data ) && ! empty ( $ data [ 'parentBundleDescriptor' ] ) ) { $ parentData = $ data [ 'parentBundleDescriptor' ] ; $ parentBundleDescriptor = static :: fromArray ( $ parentData ) ; } if ( array_key_exists ( 'childBundleDescriptor' , $ data ) && ! empty ( $ data [ 'childBundleDescriptor' ] ) ) { $ childData = $ data [ 'childBundleDescriptor' ] ; $ childBundleDescriptor = static :: fromArray ( $ childData ) ; } return new static ( $ name , $ configurationRootName , $ rootNamespace , $ path , $ parentBundleDescriptor , $ childBundleDescriptor ) ; }
Creates and returns descriptor from given data

@param array $data Data of descriptor
@return Descriptor
Creates and returns descriptor from given data