Я так понял что свои функции можно записывать в провайдер.
Создал Провайдер :
<?php namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class MapsServiceProvider extends ServiceProvider {
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
}
}
class Maps extends ServiceProvider
{
public static function location($address)
{
$obj = null;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://maps.googleapis.com/maps/api/geocode/json?address=' . urlencode($address) . '&sensor=true_or_false®ion=ru');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$output = curl_exec($ch);
if ($output !== false)
{
if ($location = json_decode($output))
{
if ($location->status == 'OK')
$obj = $location->results[0]->geometry->location;
}
}
curl_close($ch);
return $obj;
}
}
Прописал в app.php
'providers' => [
'App\Providers\MapsServiceProvider',
],
Когда в контроллере пишу
'coords' => Maps::location($address)
Получаю ошибку:
Class App\Providers\Maps contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Illuminate\Support\ServiceProvider::register)
В чем может быть проблема ?
Спасибо.