Package Data | |
---|---|
Maintainer Username: | zaghadon |
Maintainer Contact: | nzaghad@topazdom.com (Nzagha David Eze) |
Package Create Date: | 2022-08-08 |
Package Last Update: | 2022-08-27 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2025-01-17 03:01:34 |
Package Statistics | |
---|---|
Total Downloads: | 75 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 1 |
Total Watchers: | 0 |
Total Forks: | 0 |
Total Open Issues: | 0 |
A full and simple Toolkit Package for instantly adding Social Features to Laravel Project Adapted From Miladimos
Run the command below to add this package:
composer require zaghadon/laravel-social
Open your config/socials.php and add the following to the providers array:
Zaghadon\Social\Providers\SocialServiceProvider::class,
Run the command below to install package:
php artisan social:install
Run the command below to migrate database:
php artisan migrate
Depending on the Capabilities You want implemented, as the required traits to the right Models.
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;
}
In the User Model:
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;
}
In the User Model:
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;
}
In the User Model:
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;
}
In the User Model:
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;
}
In controllers you have these methods:
namespace App\Http\Controllers;
use App\Models\Post;
class PostController extends Controller
{
public function index()
{
$post = Post::find(1);
$post->likes // return all likes
}
}
Like
Favorite *
Tag **
Category **
Bookmark
Follow \ Unfollow
Subscribe **
Comment
Vote / Rate System *