fenos/rally

laravel 4 的关注者系统

1.0.11 2014-10-16 15:19 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:27:13 UTC


README

Build Status ProjectStatus Latest Stable Version License

关注,让别人关注你,用Rally关注。Rally是一个插件,可以将关注系统实现到你的应用程序中。它快速实现在你的laravel项目中。它给你自由来创建自己的关注者系统。它是多态的,所以你可以关注任何你想关注的人或事物。该包已发布用于laravel 4.*

安装

步骤 1

将其添加到你的 composer.json 文件中

"fenos/rally": "1.0.*"

然后运行 composer update

步骤 2

将以下字符串添加到 app/config/app.php

提供者数组

'Fenos\Rally\RallyServiceProvider'

别名数组

'Rally'    => 'Fenos\Rally\Facades\Rally'

步骤 3

迁移

确保你在 app/config/database.php 中的设置是正确的,然后输入迁移

php artisan migrate --package="fenos/rally"

步骤 4

包含关系

Rally已经为你设置了一些关系,你只需要在你的模型中插入我为你制作的 trait,即可与Rally建立关系。


class User extends Eloquent
{
    use \Fenos\Rally\Models\Relations;
}

这就完成了。

文档

正如我在安装说明中所说,Rally可以 多态,这意味着如果你有 UsersTeams 作为你的应用程序的实体,它们可以相互关注。但这完全取决于你。如果你发现你不需要它,你可以将其作为单个模型绑定保持。

启用或禁用多态关系的密钥在配置文件中。你只需要推送它们,将多态密钥更改为 true。如果你只想将插件作为1个模型,但 User 模型不是你的主要模型,请更改它 ;)

php artisan config:publish fenos/rally

关注

要开始关注一个实体(在多态时),你将使用以下方法,让我给你展示。

try
{
    Rally::follower('User',$user_id)->follow('Team',$team_id);
}
catch(\Fenos\Rally\Exceptions\AlreadyFollowerException $e)
{
    // is already fan
}

只用几行代码,用户就开始关注团队了。

如果你使用 Rally 作为正常

try
{
    Rally::follower($user_id)->follow($user_id);
}
catch(\Fenos\Rally\Exceptions\AlreadyFollowerException $e)
{
    // is already follower
}

让我来解释一下。方法 follower() 指定要成为关注者的用户,所以如果Rally是多态的,你必须将 first parameter 作为它的模型,将 second parameter 作为ID,如果不是多态的,就只提供ID。几乎与 follow() 方法中的方法相同,在这个方法中,你指定谁将被关注,参数是相同的。

取消关注

如果你不想再关注某人,你将使用这个方法

多态

try
{
    Rally::follower('User',$user_id)->unFollow('Team',$team_id);
}
catch(\Fenos\Rally\Exceptions\FollowerNotFoundException $e)
{
    // the user already doesn't follow him
}

正常

try
{
    Rally::follower($user_id)->unFollow($user_id);
}
catch(\Fenos\Rally\Exceptions\FollowerNotFoundException $e)
{
    // the user already doesn't follow him
}

检查是否关注

如果你想了解一个给定的用户是否关注了某人,请使用

多态

Rally::follower('User',$user_id)->isFollowerOf('Team',$team_id);

正常

Rally::follower($user_id)->isFollowerOf($user_id); // return Boolean

获取关注者列表

好了,Rally为你提供了一个简单的方法来获取你的关注者列表,但请记住,你已经实现了具有关系的 trait,所以你甚至可以直接从那里访问它们,我建议这样做。但让我给你看看如果你想要使用Rally。

多态

Rally::follower('User',$user_id)->getLists();

Rally::follower('User',$user_id)->getLists(['orderBy' => 'DESC', 'limit' => 10]);

Rally::follower('User',$user_id)->getLists(['orderBy' => 'DESC', 'paginate' => 5 ]);

正常

Rally::follower($user_id)->getLists();

Rally::follower($user_id)->getLists(['orderBy' => 'DESC', 'limit' => 10]);

Rally::follower($user_id)->getLists(['orderBy' => 'DESC', 'paginate' => 5 ]);

你甚至可以链式使用 count(),它返回一个集合,所以你可以使用它所有的方法。

计算关注者数量

你只需要关注者的数量,不需要其他吗?

多态

Rally::follower('User',$user_id)->count();

正常

Rally::follower($user_id)->count();

我希望你会喜欢它。

注意

我用 <3 做了这个

测试

要运行测试,请确保已安装phpUnit和Mockery

致谢

© 版权所有 Fabrizio Fenoglio

在MIT许可证下发布包。