راکت

شخصی سازی notification برای email verifition

2 پاسخ
<?php

namespace App\Notifications;

use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;

class EmailVerifyTheme extends Notification
{
    use Queueable;

    public $token;

    /**
     * Create a new notification instance.
     *
     * @return void
     */
    public function __construct($token)
    {
        $this->token = $token;
    }

    /**
     * Get the notification's delivery channels.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function via($notifiable)
    {
        return ['mail'];
    }

    /**
     * Get the mail representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return \Illuminate\Notifications\Messages\MailMessage
     */
    public function toMail($notifiable)
    {
        return (new MailMessage)
                    ->line('با سلام')
                    ->action('تایید ایمیل شما', url('/email/verify/', $this->token))
                    ->line('Thank you for using our application!');
    }

    /**
     * Get the array representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function toArray($notifiable)
    {
        return [
            //
        ];
    }
}
<?php

namespace App;

use App\Notifications\EmailVerifyTheme;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable implements MustVerifyEmail
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'username', 'email', 'password', 'avatar'
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];

    public function sendEmailVerificationNotification($token)
    {
        $this->notify(new EmailVerifyTheme($token));
    }

}

مشکل من اینه که وقتی token رو پاس میدم این ارور رو میگیرم

Declaration of App\User::sendEmailVerificationNotification($token) should be compatible with Illuminate\Foundation\Auth\User::sendEmailVerificationNotification()

کسی میدونه مشکل چیه ؟؟

ثبت پرسش جدید

پاسخ‌ها

2
حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

سلام از ارور مشخص کاملا شما نمیتونید به sendEmailVerificationNotification مقداری به عنوان پارامتر ارسال کنید چون این متد در جای دیگه قرار فراخونی بشه و فراخونیش توسط شما انجام نمیشه
این کد اصلیشه

    /**
     * Send the email verification notification.
     *
     * @return void
     */
    public function sendEmailVerificationNotification()
    {
        $this->notify(new Notifications\VerifyEmail);
    }
مهدی شریفی
مهدی شریفی
@Mahdi.sh.twd

تخصص: توسعه دهنده وب

@hesammousavi
خوب من الان برای شخصی سازی این اعلان بید چیکار کنم ؟؟؟؟

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام