rbadillap / twitterstreaming-laravel
Laravel的TwitterStreaming服务提供者
Requires
- illuminate/support: 5.*
- rbadillap/twitterstreaming: 0.1.*
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上拥有的许多包相同的流程。
- 分支项目。
- 创建一个与相关问题名称相关的功能分支。
- 确保提交的代码清晰,并遵循PSR-2编码风格指南。
- 运行测试(如果需要,创建新的测试)。
- 提交并推送分支。
- 创建拉取请求。