rbadillap/twitterstreaming-laravel

Laravel的TwitterStreaming服务提供者

0.1.3 2016-01-05 14:43 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:43:04 UTC


README

我们现在支持使用服务提供者支持Laravel 5的TwitterStreamingPHP :)

安装

TwitterStreamingPHP 服务提供者可以通过 Composer 安装。运行以下命令

composer require rbadillap/twitterstreaming-laravel

现在您应该在Laravel应用程序的 config/app.php 配置文件中注册提供者

'providers' => [
	// other service providers..
		
    TwitterStreaming\Laravel\TwitterStreamingServiceProvider::class
],

此外,还需要在同一个文件中的 aliasses 数组中添加 TwitterStreaming 门面。

'TwitterStreaming' => TwitterStreaming\Laravel\Facades\TwitterStreaming::class

此外,您可能还需要创建一个 twitterstreaming.php 配置文件,为了做到这一点,并在其中放置您的Twitter应用程序凭据,您应该运行以下命令

php artisan vendor:publish

现在,您可以在 app 文件夹中看到一个新创建的文件,您可以在此处添加您的凭据。

现在可以使用它了!

用法

要了解如何使用TwitterStreamingPHP,请访问其文档

附加功能

在这个服务包中,您将找到一些额外的功能来简化在Laravel中使用 TwitterStreamingPHP 的方式。让我们看看它们全部

简化端点定义的方式

您不需要在 TwitterStreamingPHP 中使用 endpoint 方法来定义端点,而是可以直接调用一些注入端点(及其类型)的方法。例如

// Instead of
(new Tracker)
    ->endpoint(Endpoints\PublicEndpoint::class, 'sample')

// You can call in Laravel
TwitterStreaming::publicSample()

// and continue with the rest of the code

这里列出了简化端点定义的所有方法

publicFilter()
// alias of endpoint(Endpoints\PublicEndpoint::class, 'filter')
publicSample()
// alias of endpoint(Endpoints\PublicEndpoint::class, 'sample')
user()
// alias of endpoint(Endpoints\UserEndpoint::class)

与过滤器模块的集成

您是否在使用 过滤器模块

如果没有,那么您应该使用它 :)

如果是,我们已经将其集成到Laravel服务提供者中。

您需要做的只是使用Composer安装该包

composer require rbadillap/twitterstreaming-filters

并且不需要注册新的扩展即可使用它。

// this is not necessary
->addExtension(Extensions\Filters::class)

// TwitterStreamingPHP detects automatically if the module are included with composer 
// and you can use filters method automatically

    ->filters(function ($filters) {
        return $filters
            // Use methods to filter tweets
            ->withoutRTs()
            ->withoutReplies()
            ->onlyFromAndroid();
    })

如何在Laravel中使用它

有一些方法,但如果您想结合Laravel和TwitterStreamingPHP,您可以创建自己的命令

php artisan make:console TwitterTrack

并将您的跟踪推文的逻辑放入其中。

        TwitterStreaming::publicFilter()
            ->parameters([
                'track' => '#realmadrid'
            ])
            ->filters(function ($filters) {
                return $filters
                    ->withoutRTs()
                    ->withoutReplies()
                    ->onlyFromAndroid();
            })
            ->track(function ($tweet) {
                print $tweet->text . ' (' . $tweet->source . ')' . PHP_EOL . PHP_EOL;
            });

更好的是,您可以将队列监听器调度到数据库中存储。

        TwitterStreaming::publicFilter()
            ->parameters([
                'track' => '#realmadrid'
            ])
            ->filters(function ($filters) {
                return $filters
                    ->withoutRTs()
                    ->withoutReplies()
                    ->onlyFromAndroid();
            })
            ->track(function ($tweet) {
                // php artisan make:job YourLaravelJob
                $this->dispatch(new YourLaravelJob($tweet));
            });

贡献

请使用与我们在GitHub上拥有的许多包相同的流程。

  1. 分支项目。
  2. 创建一个与相关问题名称相关的功能分支。
  3. 确保提交的代码清晰,并遵循PSR-2编码风格指南
  4. 运行测试(如果需要,创建新的测试)。
  5. 提交并推送分支。
  6. 创建拉取请求。