Twittable Behavior for Yii2
, (*1)
This extension provides behavior functions for tweeting., (*2)
Installation
The preferred way to install this extension is through composer., (*3)
Either run, (*4)
$ php composer.phar require cybercog/yii2-twittable "*"
or add, (*5)
"cybercog/yii2-twittable": "*"
to the require section of your composer.json
file., (*6)
Migrations
If you want to auto-post News to twitter, run the following command, (*7)
$ yii migrate/create news_tweet_link
Open the /path/to/migrations/m_xxxxxx_xxxxxx_news_tweet_link.php
file,, (*8)
inside the up()
method add the following, (*9)
$sql = "ALTER TABLE news
ADD COLUMN tweet_id BIGINT(64) NULL DEFAULT NULL";
$this->execute($sql);
inside the down()
method add the following, (*10)
$sql = "ALTER TABLE news
DROP COLUMN tweet_id";
$this->execute($sql);
Configuring
use cybercog\yii\twittable\behaviors\TwittableBehavior;
/**
* ...
* @property string $tagNames
*/
class Post extends \yii\db\ActiveRecord
{
public function behaviors()
{
return [
[
'class' => TwittableBehavior::className(),
'consumerKey' => 'TWITTER_CONSUMER_KEY',
'consumerSecret' => 'TWITTER_SECRET_KEY',
'accessToken' => 'TWITTER_ACCESS_TOKEN',
'accessTokenSecret' => 'TWITTER_SECRET_TOKEN',
'autoPosting' => true,
],
];
}
}
Usage
Everything is working automatically right now. When you are creating new model - it's instantly adding a tweet., (*11)
Todo
- [x] Limit tags count (recomended max 3 tags per tweet)
- [x] Configurable autoposting feature
- [ ] Configuring what to post: message, tags, url
- [ ] Handle twitter errors
- [ ] Manual posting of tweets if tweet isn't exist
- [ ] Tweets deletion
- [ ] Support Twitter cards