# wpfunnels/3.13.3/vendor/league/flysystem/src/Config.php

WPFunnels – Funnel Builder for WooCommerce with Checkout &amp; One Click Upsell, version 3.13.3. 58 lines.

- Page: https://pluginprobe.com/plugins/wpfunnels/3.13.3/code/vendor/league/flysystem/src/Config.php
- Raw: https://pluginprobe.com/plugins/wpfunnels/3.13.3/raw/vendor/league/flysystem/src/Config.php
- Modified: 2026-04-02T10:54:38+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/wpfunnels/3.13.3/code/vendor/league/flysystem/src/Config.php#L10-L20`.

```php
<?php

declare(strict_types=1);

namespace League\Flysystem;

use function array_diff_key;
use function array_flip;
use function array_merge;

class Config
{
    public const OPTION_COPY_IDENTICAL_PATH = 'copy_destination_same_as_source';
    public const OPTION_MOVE_IDENTICAL_PATH = 'move_destination_same_as_source';
    public const OPTION_VISIBILITY = 'visibility';
    public const OPTION_DIRECTORY_VISIBILITY = 'directory_visibility';
    public const OPTION_RETAIN_VISIBILITY = 'retain_visibility';

    public function __construct(private array $options = [])
    {
    }

    /**
     * @param mixed $default
     *
     * @return mixed
     */
    public function get(string $property, $default = null)
    {
        return $this->options[$property] ?? $default;
    }

    public function extend(array $options): Config
    {
        return new Config(array_merge($this->options, $options));
    }

    public function withDefaults(array $defaults): Config
    {
        return new Config($this->options + $defaults);
    }

    public function toArray(): array
    {
        return $this->options;
    }

    public function withSetting(string $property, mixed $setting): Config
    {
        return $this->extend([$property => $setting]);
    }

    public function withoutSettings(string ...$settings): Config
    {
        return new Config(array_diff_key($this->options, array_flip($settings)));
    }
}

```
