Laravel通知无法解析的依赖

时间:2017-06-09 15:43:51

标签: php laravel twitter laravel-5 notifications

我正在尝试将Laravel Twitter Channel Notification package安装到使用Laravel 5.3和PHP 7.1的应用程序中。我创建了最简单的测试(转到/ tweet路由并向第一个用户发送通知)以验证它应该正在工作。相反,我收到以下错误:

  

无法解析的依赖关系解析[参数#0 [   $ consumerKey]]在班级Abraham \ TwitterOAuth \ TwitterOAuth

我在other related SO posts中读到这是因为Laravel的IoC不知道要传递什么,因为构造函数(我猜的包)不是类型提示。由于这是一个包,我不确定解决这个问题的最佳方法。我可以覆盖通知类中的构造函数吗?下面是我的测试NotificationClass。

<?php

namespace app\Notifications;

use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;

use NotificationChannels\Twitter\TwitterChannel;
use NotificationChannels\Twitter\TwitterMessage;

class TweetNotification extends Notification
{
    use Queueable;

    /**
     * Create a new notification instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Get the notification's delivery channels.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function via($notifiable)
    {
        return [TwitterChannel::class];
    }

    public function toTwitter($notifiable) {
        return new TwitterStatusUpdate('Laravel notifications are awesome!');
    }
}

1 个答案:

答案 0 :(得分:0)

我会在AppServiceProvider的register方法中绑定依赖接口。看看这里:https://laravel.com/docs/5.3/container#binding-interfaces-to-implementations