dmyers/laravel-activity

为 Laravel 4 的一款简单活动流包。

dev-master 2015-07-13 00:05 UTC

This package is auto-updated.

Last update: 2024-09-10 14:11:27 UTC


README

Activity 是一个为 Laravel 4 应用程序提供的活动/新闻流系统。

通过 Composer 安装

将以下内容添加到你的 composer.json 文件中的 require 对象中

"dmyers/laravel-activity": "dev-master"

之后,运行 composer install 安装 Activity。

将服务提供者添加到 app/config/app.php 中的 providers 数组中。

'providers' => array(
    // ...
    'Dmyers\Activity\ActivityServiceProvider',
)

将类别名添加到 app/config/app.php 中的 aliases 数组中。

'aliases' => array(
    // ...
    'Activity' => 'Dmyers\Activity\Activity',
)

发布包的模型、迁移和视图。

php artisan model:publish dmyers/laravel-activity
php artisan migration:publish dmyers/laravel-activity
php artisan view:publish dmyers/laravel-activity

最后,将特质添加到你想要跟踪活动记录的模型中。

use ActivityTrait;

protected $activity_item_field = 'id';

protected $activity_doer_field = 'user_id';

protected $activity_events = array('created', 'updated', 'deleted');

protected $activity_feed_type = 'user';

使用方法

首先获取一个项目类型(模型)的实例

$object = Model::find(1);

获取所有活动

$object->activity(array(
	'id'        => $activity_id, // optional
	'doer_id'   => $doer_id, // optional
	'victim_id' => $victim_id, // optional
	'item_id'   => $item_id, // optional
	'item_type' => $item_type, // optional
	'feed_type' => $feed_type, // optional
));

跟踪活动事件

$object->addActivity($item_type, $doer_id, $victim_id, $action);

更新活动事件

$object->updateActivity($item_type, $doer_id, $victim_id, $action);

删除活动事件

$object->deleteActivity($item_type, $doer_id, $victim_id, $action);

显示活动流

$object->renderActivityFeed($type, $doer_id, $victim_id);

将流推送到另一个活动流中

$object->pushActivityFeed($type, $doer_id, $victim_id);