ایمیل فعالسازی اکانت

- 2 سال پیش
توسط developer آپدیت شد
developer ( 28391 تجربه )
2 سال پیش

ایونت اینه:

<?php

namespace App\Events;

use App\ActivationCode;
use App\User;
use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

class UserActivation
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    public $user;
    public $activationCode;

    /**
     * Create a new event instance.
     *
     * @param User $user
     */
    public function __construct(User $user)
    {
//        dd(ActivationCode::CreateCode($user)->code);
        $this->user = $user;
        $this->activationCode = ActivationCode::CreateCode($user)->code;
    }

    /**
     * Get the channels the event should broadcast on.
     *
     * @return \Illuminate\Broadcasting\Channel|array
     */
    public function broadcastOn()
    {
        return new PrivateChannel('channel-name');
    }
}

لسنر هم اینه:

<?php

namespace App\Listeners\UserActivation;

use App\Events\UserActivation;
use App\Mail\ActivationMail;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Mail;

class SendMailNotification
{

    public function __construct()
    {
    }

    /**
     * Handle the event.
     *
     * @param  UserActivation  $event
     * @return void
     */
    public function handle(UserActivation $event)
    {
        Mail::to($event->user)->send(new ActivationMail($event->activationCode, $event->user));
    }
}

بلید ایمیل اینه:

@component('mail::message')
    # ایمیل فعالسازی

@component('mail::button', ['url' => route('Activation.account,$code)])
کلیک کنید
@endcomponent

Thanks

@endcomponent

خب الان این $code چیه؟از کجا اومده؟ واسه من یوزرآیدی رو بر میگردونه ! از کجا میشه تغییرش داد؟

حسام موسوی ( 131414 تجربه )
2 سال پیش

شما قسمت 15 رو کامل ندیدید در قسمت 15 کاملا توضیح داده شده چطوریه داستان
و اینونت ما در پایان جلسه بصورت زیر در میاد

    class UserActivation  
    {  
            use Dispatchable, InteractsWithSockets, SerializesModels;

            public $user;
            public $code;

            /**
             * Create a new messages.php instance.
             *
             * @return void
             */
            public function __construct(User $user , $code)
            {
                $this->user = $user;
                $this->code = $code;
            }

            /**
             * Build the messages.php.
             *
             * @return $this
             */
            public function build()
            {
                return $this->subject('لینک فعالسازی')
                    ->markdown('emails.active-user');
            }
        }

دقت کنید که ایجاد کردن کد هم به جای که event فراخونی میشه انتقال پیدا میکنه و فقط کد بهش پاس داده میشه

developer ( 28391 تجربه )
2 سال پیش

اسم کلاس هام با شما فرق داره اینی که شما گذاشتید فکر کنم همون میل هست و منم کلا فراموش کرده بودم اینو، کلا بعد از لسینر میرفتم به بلید و این وسط این میل رو جا مینداختم

ممنون استاد

برای ارسال پاسخ باید وارد سایت شوید