РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
727 of 1392 menu

Класс User

Класс User наследуется от Authenticatable и реализует интерфейс AuthenticatableContract. Он содержит стандартные поля для аутентификации: 'name', 'email', 'password', 'remember_token', а также временные метки 'created_at' и 'updated_at'. Модель используется фасадом Auth для получения информации о текущем пользователе.

Синтаксис

<?php namespace App\Models; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { protected $fillable = [ 'name', 'email', 'password', ]; protected $hidden = [ 'password', 'remember_token', ]; } ?>

Пример

Давайте получим текущего аутентифицированного пользователя и выведем его имя:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Auth; class UserController extends Controller { public function show() { $user = Auth::user(); echo $user->name; } } ?>

Результат выполнения кода:

"John Doe"

Пример

Давайте проверим, имеет ли пользователь право на выполнение действия с помощью метода can:

<?php namespace App\Http\Controllers; use App\Models\Post; use Illuminate\Support\Facades\Auth; class PostController extends Controller { public function update($id) { $post = Post::find($id); $user = Auth::user(); if ($user->can('update', $post)) { echo "User can update post"; } else { echo "User cannot update post"; } } } ?>

Результат выполнения кода:

"User can update post"

Пример

Давайте проверим, подтверждён ли email пользователя с помощью метода hasVerifiedEmail:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Auth; class ProfileController extends Controller { public function verify() { $user = Auth::user(); if ($user->hasVerifiedEmail()) { echo "Email is verified"; } else { echo "Email is not verified"; } } } ?>

Результат выполнения кода:

"Email is verified"

Пример

Давайте отметим email пользователя как подтверждённый с помощью метода markEmailAsVerified:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Auth; class EmailController extends Controller { public function confirm() { $user = Auth::user(); if (!$user->hasVerifiedEmail()) { $user->markEmailAsVerified(); echo "Email marked as verified"; } else { echo "Email already verified"; } } } ?>

Результат выполнения кода:

"Email marked as verified"

Пример

Давайте отправим уведомление пользователю с помощью метода notify:

<?php namespace App\Http\Controllers; use App\Notifications\WelcomeNotification; use Illuminate\Support\Facades\Auth; class NotificationController extends Controller { public function send() { $user = Auth::user(); $user->notify(new WelcomeNotification()); echo "Notification sent"; } } ?>

Результат выполнения кода:

"Notification sent"

Смотрите также

  • класс Auth,
    который предоставляет фасад для аутентификации
  • метод user,
    который возвращает текущего аутентифицированного пользователя
  • метод check,
    который проверяет, аутентифицирован ли пользователь
  • метод can,
    который проверяет права пользователя на действие
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить