geocoder-php / geocoder-php/Geocoder
Adopt variadic methods throughout because it enforces types. DX
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- PHP
- Sterne
- 4k
- Forks
- 525
- Ø Merge
- 8 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
example adoption:
From BeforeAdoption.
a.) class: Geocoder\ProviderAggregator
b.) method def: registerProviders(array $providers = []);
c.) sample method call: $geocoder->registerProviders([new \Geocoder\Provider\GoogleMaps\GoogleMaps($adapter), new \Geocoder\Provider\Yandex\Yandex($adapter),]);
To AfterAdoption.
a.) class: Geocoder\ProviderAggregator
b.) method def: registerProviders(Providers ...$providers);
c.) method call: $geocoder->registerProviders(new \Geocoder\Provider\GoogleMaps\GoogleMaps($adapter));
d.) method call: $geocoder->registerProviders(new \Geocoder\Provider\GoogleMaps\GoogleMaps($adapter), new XXProvider);
e.) method call: $providers = [new \Geocoder\Provider\GoogleMaps\GoogleMaps($adapter), new \Geocoder\Provider\Yandex\Yandex($adapter),]; $geocoder->registerProviders(... $providers);
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, die Klasse Geocoder\ProviderAggregator und ihre Methode registerProviders zu finden. Überprüfe die aktuelle array-basierte Signatur und die Aufrufe und ermittle anschließend die anderen Methoden, die von „throughout“ abgedeckt werden. Als erledigt gilt die Aufgabe, wenn die betroffenen Methoden typisierte Variadic-Provider akzeptieren und ihre Aufrufe einzelne Provider sowie entpackte Arrays wie beschrieben unterstützen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- backend
- Issue-Typ
- Refactoring
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100