Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

multicaret/laravel-acquaintances

Repository files navigation

Laravel Acquaintances

Total Downloads Latest Version License

Laravel Acquaintances

Clean, modular social features for Eloquent models: Friendships, Verifications, Interactions (Follow/Like/Favorite/Report/Subscribe/Vote/View), and multi-type Ratings.

TL;DR

$user1 = User::find(1);
$user2 = User::find(2);
// Friendships
$user1->befriend($user2);
$user2->acceptFriendRequest($user1);
// The messy breakup :(
$user2->unfriend($user1);
// Verifications (message is optional)
$user1->verify($user2, "Worked together on several Laravel projects.");
$user2->acceptVerificationRequest($user1);
if ($user1->isVerifiedWith($user2)) {
 echo "Verified!";
}

Documentation

To keep this README concise, the full documentation lives under docs/:

Quickstart

  1. Install
composer require multicaret/laravel-acquaintances
  1. Publish (optional) and migrate
php artisan vendor:publish --provider="Multicaret\\Acquaintances\\AcquaintancesServiceProvider"
php artisan migrate
  1. Add traits to your models
use Multicaret\\Acquaintances\\Traits\\Friendable;
use Multicaret\\Acquaintances\\Traits\\Verifiable;
use Multicaret\\Acquaintances\\Traits\\CanFollow;
use Multicaret\\Acquaintances\\Traits\\CanBeFollowed;
use Multicaret\\Acquaintances\\Traits\\CanLike;
use Multicaret\\Acquaintances\\Traits\\CanBeLiked;
use Multicaret\\Acquaintances\\Traits\\CanRate;
use Multicaret\\Acquaintances\\Traits\\CanBeRated;
class User extends Model {
 use Friendable, Verifiable;
 use CanFollow, CanBeFollowed;
 use CanLike, CanBeLiked;
 use CanRate, CanBeRated;
}

Explore the feature guides linked above for full APIs and examples.

Compatibility

  • Laravel 9–12 (Illuminate components only; no laravel/framework hard dependency)
  • PHP >= 8.0

Contributing / Changelog

  • Contributing: see CONTRIBUTING.md
  • Changes: see CHANGELOG.md

Packages

No packages published

Contributors 24

Languages

AltStyle によって変換されたページ (->オリジナル) /