skybluesofa/laravel-microblog

此包可以为 Eloquent Users 创建创建微型博客文章的能力。

0.5.0 2020-02-17 21:08 UTC

This package is auto-updated.

Last update: 2024-09-17 08:44:04 UTC


README

Build Status Code Climate Test Coverage Total Downloads Version Software License

Laravel 5 微型博客

创建一个微型博客平台(例如,Twitter、Tumblr)。

安装

首先,通过 Composer 安装此包。

composer require skybluesofa/laravel-microblog

服务提供者应自动安装在 Laravel 5.5+ 上。如果你运行的是更低版本,则将服务提供者包含在 config/app.php 中。

'providers' => [
    ...
    Skybluesofa\Microblog\ServiceProvider::class,
    ...
];

发布配置和迁移

php artisan vendor:publish --provider="Skybluesofa\Microblog\ServiceProvider"

config\microblog.php

最后,迁移数据库

php artisan migrate

为用户添加作者身份

当用户是 MicroblogAuthor 时,他们可以创建博客文章。

use Skybluesofa\Microblog\Model\Traits\MicroblogAuthor;
class User extends Model
{
    use MicroblogAuthor;
    ...
}

为用户添加博客朋友

getBlogFriends() 方法允许限制谁可以看到用户的博客文章。

The Skybluesofa\Microblog\Model\Traits\MicroblogFriends Trait 强制在 User 模型上存在此方法,但并未实现它。你需要根据你的需要来实现它。下面是一个示例

use Skybluesofa\Microblog\Model\Traits\MicroblogFriends;
class User extends Model
{
    use MicroblogFriends;
    
    ...
    public function getBlogFriends()
    {
        // Return null to get all users
        return null;
    
        // Return an array to get specific user ids
        // return [1,2,3];
    
        // Return an empty array to get no user ids (no one else)
        //return [];
    }
    ...
}

如何使用

查看测试文件以查看包的实际操作

博客文章

创建博客文章

savePost() 方法将为用户创建相关的 Journal 模型,如果该模型不存在。

$post = new Post;
$post->content = 'This is the story of my life';
$user->savePost($post);

删除博客文章

$post->delete();

发布博客文章(从草稿状态移动到已发布状态)

$post->publish();

取消发布博客文章(从已发布状态移动到草稿状态)

$post->unpublish();

使文章对朋友可见

$post->share();

或者

$post->shareWithFriends();

使文章对拥有 URL 的所有人可见

$post->shareWithEveryone();

贡献

查看贡献指南