thanosalexander / activity
该包用于保存各种动作的活动
1.0.0
2016-01-13 12:58 UTC
Requires
- php: >=5.3
Requires (Dev)
- phpunit/phpunit: 5.*
This package is not auto-updated.
Last update: 2024-09-24 19:54:32 UTC
README
追踪在特定类型事件发生时触发的活动。
安装
要获取 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_types
和 activities
。只需进入终端并运行
$ 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
。
控制器
该包附带两个控制器 TypeController
和 ActivityController
。它们几乎是资源控制器,语法非常简单。
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'
));