protected function ProviderBase::process in Geocoder 8.2
Same name and namespace in other branches
- 8.3 src/ProviderBase.php \Drupal\geocoder\ProviderBase::process()
Provides a helper callback for geocode() and reverse().
Parameters
string $method: The method: 'geocode' or 'reverse'.
array $data: An array with data to be processed. When geocoding, it contains only one item with the string. When reversing, contains 2 items: the latitude and the longitude.
Return value
\Geocoder\Model\AddressCollection|\Geometry|null The Address, NULL otherwise.
2 calls to ProviderBase::process()
- ProviderBase::geocode in src/ProviderBase.php 
- Geocode a source string.
- ProviderBase::reverse in src/ProviderBase.php 
- Reverse geocode latitude and longitude.
File
- src/ProviderBase.php, line 90 
Class
- ProviderBase
- Provides a base class for providers using handlers.
Namespace
Drupal\geocoderCode
protected function process($method, array $data) {
  if ($caching = $this->configFactory
    ->get('geocoder.settings')
    ->get('cache')) {
    // Try to retrieve from cache first.
    $cid = $this
      ->getCacheId($method, $data);
    if ($cache = $this->cacheBackend
      ->get($cid)) {
      return $cache->data;
    }
  }
  // Call the processor.
  $processor = $method == 'geocode' ? 'doGeocode' : 'doReverse';
  $value = call_user_func_array([
    $this,
    $processor,
  ], $data);
  if ($caching) {
    // Cache the result.
    $this->cacheBackend
      ->set($cid, $value);
  }
  return $value;
}