1. Go to this page and download the library: Download crixuamg/laravel-mentions 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/ */
>
>
> return [
> 'pools' => [
> // Here you configure as many pools as you want. But basically we
> // notify only the Users.
> 'users' => [
> // Model that will be mentioned.
> 'model' => App\Models\User::class,
>
> // The column that will be used to search the model by the parser.
> 'column' => 'username',
>
> // The route used to generate the user link.
> 'route' => '/users/profile/@',
>
> // Notification class to use when this model is mentioned.
> 'notification' => App\Notifications\MentionNotification::class,
> ]
> ]
> ];
>
>
> namespace App\Models;
>
> use Illuminate\Database\Eloquent\Model;
> use CrixuAMG\Mentions\Models\Traits\HasMentionsTrait;
>
> class Comment extends Model
> {
> use HasMentionsTrait;
> }
>
>
> namespace App\Http\Controllers;
>
> use CrixuAMG\Mentions\Parser\MentionParser;
>
> class CommentController extends Controller
> {
> public function create(Request $request)
> {
> // Handle the comment creation however you like
> $comment = Comment::create($request->all());
>
> // Register a new Parser and parse the content.
> $parser = new MentionParser($comment);
> $content = $parser->parse($comment->content);
>
> /**
> * Re-assign the parsed content and save it.
> *
> * Note : If you use a custom Parser and you don't modify
> * the `$content` in your custom Parser, you can ignore that.
> */
> $comment->content = $content;
> $comment->save();
> }
> }
>
>
>
> [
> // The pool used with the parser.
> 'pool' => 'users',
>
> // If `false`, the parser won't mention the user.
> 'mention' => true,
>
> /**
> * If `false` the parser won't notify the user.
> *
> * Note : If the `mention` option is set to `false`, this setting is ignored.
> */
> 'notify' => true,
>
> /**
> * The character that will trigger the mention.
> * Note : If you modify this setting, you will also need to modify
> * the `regex_replacement.{character}` option to match this setting.
> */
> 'character' => '@',
>
> // The regex used to parse the mentions.
> 'regex' => '/\s({character}{pattern}{rules})/',
>
> /**
> * The replacement used to replace the regex pattarn.
> * Can be usefull if you want to allow a special character in the mention like `_` or `-`
> * or pass dynamic value to the regex.
> *
> * Note : The parse use the PHP function `strtr` to replace the pattarn in the regex.
> */
> 'regex_replacement' => [
> '{character}' => '@',
> '{pattern}' => '[A-Za-z0-9]',
> '{rules}' => '{4,20}'
> ]
> ]
>