cvo-technologies/cakephp-twitter

Twitter 的 CakePHP webservice 实现

安装次数: 6,530

依赖关系: 0

建议者: 1

安全: 0

星标: 18

关注者: 4

分支: 3

类型:cakephp-plugin

1.2.0 2016-08-14 22:50 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:47:29 UTC


README

Software License Build Status Coverage Status Total Downloads Latest Stable Version

安装

使用 Composer

composer require cvo-technologies/cakephp-twitter

确保 requirecomposer.json 中存在

{
    "require": {
        "cvo-technologies/cakephp-twitter": "~1.1"
    }
}

加载插件

Plugin::load('Muffin/Webservice', ['bootstrap' => true]);
Plugin::load('CvoTechnologies/Twitter');

配置 Twitter webservice

将以下内容添加到您的应用程序配置的 Datasources 部分。

        'twitter' => [
            'className' => 'Muffin\Webservice\Connection',
            'service' => 'CvoTechnologies/Twitter.Twitter',
            'consumerKey' => '',
            'consumerSecret' => '',
            'oauthToken' => '',
            'oauthSecret' => ''
        ]

使用方法

控制器

namespace App\Controller;

use Cake\Event\Event;

class StatusesController extends AppController
{
    public function beforeFilter(Event $event)
    {
        $this->loadModel('CvoTechnologies/Twitter.Statuses', 'Endpoint');
    }

    public function index()
    {
        $statuses = $this->Statuses->find()->where([
            'screen_name' => 'CakePHP',
        ]);

        $this->set('statuses', $statuses);
    }
}

流式传输示例

这是一个实现 Twitter 流式 API 的示例。

namespace App\Shell;

use Cake\Console\Shell;

class StreamShell extends Shell
{
    public function initialize()
    {
        $this->modelFactory('Endpoint', ['Muffin\Webservice\Model\EndpointRegistry', 'get']);
        $this->loadModel('CvoTechnologies/Twitter.Statuses', 'Endpoint');
    }

    public function main()
    {
        $statuses = $this->Statuses
            ->find('filterStream', [
                'word' => 'twitter',
            ]);

        foreach ($statuses as $status) {
            echo $status->text . PHP_EOL;
        }
    }
}