Application de gestion des employés ب Laravel 8 Darija الجزء الثاني

منذ 7 أشهر imadbelasri Laravel
LA

فهاد الجزء الثاني من Application de gestion des employés ب Laravel 8 Darija غادي نزيدو Login & Logout ب Laravel Fortify اول حاجة غادي ن installer ل package من بعد غادي نزيدوا les fonctionnalités. 


نظرة سريعة بالفيديو


1- إضافة Laravel Fortify ل Projet ديالنا

أول حاجة كيف قلنا غادي نزيدو ل package لي هو Laravel Fortify غادي تدير هاد ل commande :

composer require laravel/fortify

من بعد هادي :

php artisan vendor:publish --provider="Laravel\Fortify\FortifyServiceProvider"

وأخيرا هادي :

php artisan migrate

من بعد غادي تمشي ل dossier config وتدير تعديل على fortify.php فل features غادي ن désactiver registration فقط غادي تزيد // حيت حنا خدامين ب admin واحد لا داعي باش تكون عندنا صفحة التسجيل.

الكود ديال داك الجزء هو هذا :

                                                    
                                                        //
'features' => [
        // Features::registration(),
        // Features::resetPasswords(),
        // Features::emailVerification(),
        //Features::updateProfileInformation(),
        //Features::updatePasswords(),
        /*Features::twoFactorAuthentication([
            'confirmPassword' => true,
        ]),
    */],
                                                    
                                                

2- إضافة Login Function ل FortifyServiceProvider

منبعد غادي تمشي ل dossier app/providers فيه ل fichier FortifyServiceProvider غادي نزيدو  static function loginView لي كتقول ل fortify أشمن view غادي نخدموا بها باش نديرو login.

الكود ديال الملف بعد التعديل هو :

                                                        
                                                            //
<?php

namespace App\Providers;

use App\Actions\Fortify\CreateNewUser;
use App\Actions\Fortify\ResetUserPassword;
use App\Actions\Fortify\UpdateUserPassword;
use App\Actions\Fortify\UpdateUserProfileInformation;
use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\ServiceProvider;
use Laravel\Fortify\Fortify;
use Laravel\Fortify\Contracts\LogoutResponse;


class FortifyServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
        $this->app->instance(LogoutResponse::class, new class implements LogoutResponse
        {
            public function toResponse($request)
            {
                return redirect('/');
            }
        });
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        // Fortify::createUsersUsing(CreateNewUser::class);
        // Fortify::updateUserProfileInformationUsing(UpdateUserProfileInformation::class);
        // Fortify::updateUserPasswordsUsing(UpdateUserPassword::class);
        // Fortify::resetUserPasswordsUsing(ResetUserPassword::class);

        RateLimiter::for('login', function (Request $request) {
            return Limit::perMinute(5)->by($request->email . $request->ip());
        });

        // RateLimiter::for('two-factor', function (Request $request) {
        //     return Limit::perMinute(5)->by($request->session()->get('login.id'));
        // });
        Fortify::loginView(function () {
            return view('login');
        });
    }
}
                                                        
                                                    

3- إضافة Login Form

ف dossier views غادي تزيد fichier login.php هذا هو ل fichier لي قلنا ل fortify باش يخدم به ل Login.

الكود ديال الملف هو :

                                                        
                                                            //
@extends('layouts.main')

@section('title')
    Employes Management System | Login
@endsection

@section('content')
<div class="container my-5 p-5">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <div class="card">
                <div class="card-header bg-primary text-white">{{ __('Login') }}</div>

                <div class="card-body">
                    <form method="POST" action="{{ route('login') }}">
                        @csrf

                        <div class="form-group row mb-2">
                            <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>

                            <div class="col-md-6">
                                <input id="email" type="email"
                                    class="form-control @error('email') is-invalid @enderror"
                                    name="email" value="{{ old('email') }}" required autocomplete="off" autofocus>

                                @error('email')
                                    <span class="invalid-feedback" role="alert">
                                        <strong>{{ $message }}</strong>
                                    </span>
                                @enderror
                            </div>
                        </div>

                        <div class="form-group row mb-2">
                            <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>

                            <div class="col-md-6">
                                <input id="password" type="password" class="form-control @error('password') is-invalid @enderror"
                                    name="password" required autocomplete="off">

                                @error('password')
                                    <span class="invalid-feedback" role="alert">
                                        <strong>{{ $message }}</strong>
                                    </span>
                                @enderror
                            </div>
                        </div>
                        <div class="form-group row mb-0">
                            <div class="col-md-8 offset-md-4">
                                <button type="submit" class="btn btn-primary">
                                    {{ __('Login') }}
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection
                                                        
                                                    

4- تعديل الملف app.php

ف dossier config فل fichier app.php زبد هاد السطر فل providers array :

                                                        
                                                            //
  'providers' => [

      App\Providers\FortifyServiceProvider::class,
                                                        
                                                    

دروس ذات صلة

PH

Application de gestion des employés ب php و mysql الجزء الأول

فهاد الدرس الجديد من سلسلة php غادي نشوفو كيفاش نقادو une application de gestion des employés بإستعم...


PH

Application de gestion des employés ب php و mysql الجزء الثاني

فهادالجزء الثاني من Application de gestion des employés ب php و mysql غادي نكملو الملفات لي غاد...


PH

Application de gestion des employés ب php و mysql الجزء الثالت

فهاد الجزء الثالت من Application de gestion des employés ب php و mysql غادي نكملو الملفات لي بقاونا...


LA

Application de gestion des employés ب Laravel 8 Darija الجزء الأول

فهاد ل projet الجديد غادي نقادو application de gestion des employés ب Laravel 8 Darija المستخدم كيزي...


LA

Application de gestion des employés ب Laravel 8 Darija الجزء الثالت

فهاد الجزء الثالت من Application de gestion des employés ب Laravel 8 Darija غادي نزيدو Adminlte ل La...


LA

Application de gestion des employés ب Laravel 8 Darija الجزء الرابع

فهاد الجزء الرابع من Application de gestion des employés ب Laravel 8 Darija غادي نزيدو Laravel Model...


LA

Application de gestion des employés ب Laravel 8 Darija الجزء الخامس والأخير

فهاد الجزء الخامس والأخير من Application de gestion des employés ب Laravel 8 Darija غادي نزيدو الصفح...