该包用于保存各种动作的活动

1.0.0 2016-01-13 12:58 UTC

This package is not auto-updated.

Last update: 2024-09-24 19:54:32 UTC


README

追踪在特定类型事件发生时触发的活动。

Build Status Latest Stable Version Total Downloads Latest Unstable Version License

安装

要获取 Activities 的最新版本,只需在您的 composer.json 文件中引用它。

"thanosalexander/activity":"~1.0"

然后您需要运行 composer install 来下载它并更新自动加载器。

安装 Activities 后,您需要将服务提供程序注册到应用程序中。打开 config/app.php 并找到 providers 键。

'providers' => array(
    ...
    ...
    \Thanosalexander\Activity\ActivityServiceProvider::class,

)

Activities 还附带两个外观,它们提供了创建活动的静态语法。您可以在 config/app.php 文件的 aliases 键中注册外观。

'aliases' => array(

    ...
    ..

    'Activity' => \Thanosalexander\Activity\Facades\Activity::class,
    'Type' => \Thanosalexander\Activity\Facades\Type::class

)

发布配置

从项目的根目录运行此命令行

$ php artisan vendor:publish

配置文件将被发布到 config/activities.php,同时迁移也将发布到迁移文件夹!

运行迁移

Activities 包附带两个表,activities_typesactivities。只需进入终端并运行

$ php artisan migrate

现在表已经创建!

用法

创建一个新的类型

$type= \Type::create([
            'name'=>'login',
            'description'=>'login action',
            'label'=>'Login'
        ]);

为了创建活动类型,所有字段都是必需的!此外,name 是唯一的!

创建一个新的活动

$activity = \Activity::create([
            'user_id'=>0,
            'type_id'=>3,
            'content'=>'The content of this action',
            'ip'=> \Illuminate\Support\Facades\Request::getClientIp()
        ]);

创建活动时,user_id 字段不是必需的!然而,对于访客用户动作,该字段将是 nullable

控制器

该包附带两个控制器 TypeControllerActivityController。它们几乎是资源控制器,语法非常简单。

Activities 路由

 /**
     * Activities Routes
     */
    Route::get('activities',array(
        'uses'=>'thanosalexander\activity\Http\Controllers\ActivityController@index',
        'as'=>'activities.index'
    ));
    Route::post('activities/create',array(
        'uses'=>'thanosalexander\activity\Http\Controllers\ActivityController@store',
        'as'=>'activities.store'
    ));
    Route::put('activities/update/{id}',array(
        'uses'=>'thanosalexander\activity\Http\Controllers\ActivityController@update',
        'as'=>'activities.update'
    ));
    Route::get('activities/show/{id}',array(
        'uses'=>'thanosalexander\activity\Http\Controllers\ActivityController@show',
        'as'=>'activities.show'
    ));
    Route::delete('activities/delete/{id}',array(
        'uses'=>'thanosalexander\activity\Http\Controllers\ActivityController@delete',
        'as'=>'activities.delete'
    ));

类型路由

/**
     * Types Routes
     */
    Route::get('types',array(
        'uses'=>'thanosalexander\activity\Http\Controllers\TypeController@index',
        'as'=>'types.index'
    ));
    Route::post('types/create',array(
        'uses'=>'thanosalexander\activity\Http\Controllers\TypeController@store',
        'as'=>'types.store'
    ));
    Route::put('types/update/{id}',array(
        'uses'=>'thanosalexander\activity\Http\Controllers\TypeController@update',
        'as'=>'types.update'
    ));
    Route::get('types/show/{id}',array(
        'uses'=>'thanosalexander\activity\Http\Controllers\TypeController@show',
        'as'=>'types.show'
    ));
    Route::delete('types/delete/{id}',array(
        'uses'=>'thanosalexander\activity\Http\Controllers\TypeController@delete',
        'as'=>'types.delete'
    ));