14. 为 Laravel 集成优化
为了方便 Laravel 应用集成我们的扩展包,我们需要做一个 Laravel Service Provider,这里由于需要考虑到一个配置问题,因为调用接口需要用到高德开放平台应用 API Key,所以我们设计将它放置到 Laravel 应用的 config/services.php
中:
config/services.php
.
.
.
'weather' => [
'key' => env('WEATHER_API_KEY'),
],
配置定下来了,接着就是准备编写 service provider:
src/ServiceProvider.php
<?php
namespace Overtrue\Weather;
class ServiceProvider extends \Illuminate\Support\ServiceProvider
{
protected $defer = true;
public function register()
{
$this->app->singleton(Weather::class, function(){
return new Weather(config('services.weather.key'));
});
$this->app...