PHP code example of shababsoftwares / laravel-friendships

1. Go to this page and download the library: Download shababsoftwares/laravel-friendships library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

shababsoftwares / laravel-friendships example snippets


use ShababSoftwares\Friendships\Traits\Friendable;
class User extends Model
{
    use Friendable;
    ...
}

$user->befriend($recipient);

$user->acceptFriendRequest($sender);

$user->denyFriendRequest($sender);

$user->unfriend($friend);

$user->blockFriend($friend);

$user->unblockFriend($friend);

$user->isFriendWith($friend);

$user->hasFriendRequestFrom($sender);

$user->hasSentFriendRequestTo($recipient);

$user->hasBlocked($friend);

$user->isBlockedBy($friend);

$user->getFriendship($friend);

$user->getAllFriendships();

$user->getPendingFriendships();

$user->getAcceptedFriendships();

$user->getDeniedFriendships();

$user->getBlockedFriendships();

$user->getFriendRequests();

$user->getFriendsCount();

$user->getPendingsCount();

$user->getMutualFriendsCount($otherUser);

$user->getFriends();

$user->getFriends($perPage = 20);

$user->getFriendsOfFriends($perPage = 20);

$user->getFriends($perPage = 20, $group_name);

$user->getMutualFriends($otherUser, $perPage = 20);

// Methods usages (Status available: pending, denied, blocked and accepted.) (Paginators available: none, default, simple)
$user->{status}Friends($resultsPerPage = 0, $paginationType = 'none');

// Example #1: (Get accepted friends using default paginator with 25 results per page).
$user->acceptedFriends(25, 'default');

// Example #2: (Get pending friends using simple paginator with 10 results per page).
$user->pendingFriends(10, 'simple');

// Example #3: (Get all denied friends without pagination).
$user->deniedFriends();

// Example #3: (Get denied friends using default paginator with 30 results per page).
$user->blockedFriends(30);

// config/friendships.php
...
'groups' => [
    'acquaintances' => 0,
    'close_friends' => 1,
    'family' => 2
]

$user->groupFriend($friend, $group_name);

$user->ungroupFriend($friend, 'family');

$user->ungroupFriend($friend);

$user->getFriendsCount($group_name);

$user->getAllFriendships($group_name);
$user->getAcceptedFriendships($group_name);
$user->getPendingFriendships($group_name);
...

php artisan vendor:publish --provider="ShababSoftwares\Friendships\FriendshipsServiceProvider"

config\friendships.php

php artisan migrate