public static function config(array $config = []) {
		if (!$config) {
			return ['classes' => static::$_classes];
		}

		foreach ($config as $key => $val) {
			$key = "_{$key}";

			if (isset(static::${$key})) {
				static::${$key} = $val + static::${$key};
			}
		}
	}
public static function config(array $config = []) {
		if (!$config) {
			return ['classes' => static::$_classes];
		}

		foreach ($config as $key => $val) {
			$key = "_{$key}";

			if (isset(static::${$key})) {
				static::${$key} = $val + static::${$key};
			}
		}
	}
public static function config ( array $ config = [ ] ) { if ( ! $ config ) { return [ 'classes' => static :: $ _classes ] ; } foreach ( $ config as $ key => $ val ) { $ key = "_{$key}" ; if ( isset ( static :: $ { $ key } ) ) { static :: $ { $ key } = $ val + static :: $ { $ key } ; } } }
Used to get or reconfigure dependencies with custom classes.

@param array $config When assigning new configuration, should be an array containing a
`'classes'` key.
@return array If `$config` is empty, returns an array with a `'classes'` key containing class
dependencies. Otherwise returns `null`.
Used to get or reconfigure dependencies with custom classes .