Skip to content

Default package configuration overrides published configuration #150

Open
@elceka

Description

@elceka

General Information

GeocoderLaravel Version: 4.1.1
Laravel Version: 5.7
PHP Version: 7.2.14
Operating System and Version: Docker under OSX

Issue Description

Customized providers inside customized published config file /config/geocoder.php has been overrided by package default configuration.

Steps to Replicate

Run command inside project directory:
composer require geocoder-php/nominatim-provider
php artisan vendor:publish --provider="Geocoder\Laravel\Providers\GeocoderService" --tag="config"

Change value of 'providers' key in the configuration file /config/geocoder.php:

'providers' => [
    Nominatim::class => [
        'https://nominatim.openstreetmap.org',
        'my-user-agent',
    ],
],

Test code:

$providers = \Geocoder\Laravel\Facades\Geocoder::getProviders();
dd($providers);

Result:

Collection {#375 ▼
  #items: array:1 [▼
    "chain" => Chain {#377 ▼
      -providers: array:2 [▼
        "Geocoder\Provider\GoogleMaps\GoogleMaps" => GoogleMaps {#383 ▶}
        "Geocoder\Provider\GeoPlugin\GeoPlugin" => GeoPlugin {#388 ▶}
      ]
      #logger: null
    }
  ]
}

As we can see, we have two providers from package default configuration without our configured Nominatim provider.

Stack Trace

Without any exception.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions