zaghadon / laravel-social

一个完整且简单的工具包,可立即为Laravel项目添加社交功能 [改编自 Miladimos]

资助包维护!

v1.0.1 2022-08-27 09:38 UTC

This package is auto-updated.

Last update: 2024-09-27 22:05:37 UTC


README

一个完整且简单的工具包,可立即为Laravel项目添加社交功能 改编自 Miladimos

  • Starts
  • Forks

安装

  1. 运行以下命令添加此包

    composer require zaghadon/laravel-social
  2. 打开config/socials.php并添加以下内容到providers数组

    Zaghadon\Social\Providers\SocialServiceProvider::class,
  3. 运行以下命令安装包

    php artisan social:install
  4. 运行以下命令迁移数据库

    php artisan migrate

使用

根据您要实现的功能,将所需的特性添加到相应的模型中。

可赞特性

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Zaghadon\Social\Traits\Like\Likeable;

class Post extends Model
{
    use HasFactory,
        Likeable;
}

在用户模型中

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Zaghadon\Social\Traits\Like\CanLike;

class User extends Authenticatable
{
    use HasFactory,
        CanLike;
}

可评论特性

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Zaghadon\Social\Traits\Comment\Commentable;

class Post extends Model
{
    use HasFactory,
        Commentable;
}

在用户模型中

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Zaghadon\Social\Traits\Comment\Commentor;

class User extends Authenticatable
{
    use HasFactory,
        Commentor;
}

可收藏特性

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Zaghadon\Social\Traits\Bookmark\Bookmarkable;

class Post extends Model
{
    use HasFactory,
        Bookmarkable;
}

在用户模型中

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Zaghadon\Social\Traits\Bookmark\CanBookmark;

class User extends Authenticatable
{
    use HasFactory,
        CanBookmark;
}

可关注特性

在用户模型中

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Zaghadon\Social\Traits\Follow\Followable;

class User extends Authenticatable
{
    use HasFactory,
        Followable;
}

方法

在控制器中,您有以下方法

namespace App\Http\Controllers;

use App\Models\Post;

class PostController extends Controller
{
    public function index()
    {
        $post = Post::find(1);

        $post->likes // return all likes

        
    }
}

待办事项

  • 记录每个可用方法和它们的用法。
  • 创建一个测试框架来测试每个单元功能。

功能 [* 建议,** 正在开发中]

点赞

收藏 *

标签 **

分类 **

收藏

关注/取消关注

订阅 **

评论

投票/评分系统 *