Using built-in libraries and tools e.g form validation, authentication In Hindi

Using built-in libraries and tools e.g form validation, authentication In Hindi

लारावेल पॉपुलर पीएचपी फ्रेमवर्क डेवलपर को कई प्रकार के बिल्ट-इन लाइब्रेरी और टूल्स का कलेक्शन प्रोवाइड करता है, जो ऑनलाइन एचटीएमएल फ़ॉर्म वेलिडेशन और ऑथेंटिकेशन जैसे ऑनलाइन वेबपेज जनरल वेबपेज टास्क को अप्लाई करने में हेल्पफुल होते है। तो चलिए यहाँ हम लारावेल पीएचपी फ्रेमवर्क में लारावेल एप्लिकेशन  में इन टूल को कैसे अप्लाई कर सकते हैं, यह जाने।

Using built-in libraries and tools e.g form validation, authentication In Hindi

Form Validation in the Laravel PHP Framework.

लारावेल पीएचपी फ्रेमवर्क का फ़ॉर्म वेलिडेशन फीचर्स सिंपल लेकिन एक पॉवरफुल फीचर्स है। यह आपको वेबपेज डेटाबेस में स्टोर किए जाने से पहले फॉर्म डेटा को वेलिडेट करने की परमिशन प्रोवाइड करता है। यूजर सिस्टम में आने वाले रिक्वेस्ट डेटा को डायरेक्ट कंट्रोलर्स में या फ़ॉर्म रिक्वेस्ट वेलिडेशन को यूज़ करके वेलिडेट कर सकते हैं।

Basic Validation Controllers in the Laravel PHP Framework.

लारावेल पीएचपी फ्रेमवर्क यूजर कंट्रोलर मेथड के अंदर आने वाले फॉर्म डेटा को वेलिडेट करने के लिए validate() फॉर्म मेथड को अप्लाई कर सकते हैं।

Example of controller basic validation in the Laravel PHP framework.

// app/Http/Controllers/UserController.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller

{

    public function store(Request $request)

    {

        // here we Validate the form incoming data request

        $validated = $request->validate([

            ’emp_name’ => ‘required|string|max:255’,

            ’email’ => ‘required|email|unique:users,email’,

            ‘password’ => ‘required|string|min:12|confirmed’,

        ]);

        // here If validation passes properly, then the form code continues to this point

        // here it Proceed with storing the user form data in the database

        // here is Example: User::create([…]);

        return redirect()->back()->with(‘message’, ‘User database record created successful’);

    }

}

इस प्रोग्राम में validate() मेथड वेलिडेशन रूल्स की एक ऐरे वैल्यू को इनपुट करती  है। यहाँ यूजर को लारावेल फ्रेमवर्क मल्टीप्ल रूल प्रोवाइड करता है, जैसे कि जरूरी यूजर, ईमेल, मैक्सिमम पासवर्ड करैक्टर, यूनिक, आदि है।

यदि यहाँ फॉर्म वेलिडेशन फ़ैल हो जाता है, तो लारावेल फ्रेमवर्क आटोमेटिक आर्डर में  यूजर को प्रेवियस पेज या यूजर डिफाइन मैन्युअल लोकेशन जो आपने डिफाइन की है  वहा पर रिटर्न सेड कर देता है, जहाँ फॉर्म वेलिडेशन एरर मैसेज सेशन में स्टोर होता है।

Customizing error messages in the Laravel framework.

लारावेल फ्रेमवर्क में आप validate() फॉर्म मेथड फंक्शन में एक दूसरा लॉजिक आर्गुमेंट प्रोवाइड कर एरर मैसेज को मैन्युअल रूप से कस्टमाइज कर सकते हैं.

$request->validate([

    ’email’ => ‘required|email’,

    ‘password’ => ‘required|min:12’,

], [

    ’email.required’ => ‘You can enter your email address.’,

    ‘password.min’ => ‘Enter password must be at least 12 characters long.’,

]);

HTML Form Request Validation.

वेबपेज में वैरी काम्प्लेक्स फॉर्म वेलिडेशन के लिए यूजर एक फ़ॉर्म रिक्वेस्ट क्लास क्रिएट कर सकता हैं, जो की एक कस्टम यूजर डिफाइन रिक्वेस्ट है, जो किसी वेबपेज में फॉर्म वेलिडेशन आर्गुमेंट या लॉजिक को कम्बाइंड करता है।

Creating a form request in Laravel.

php artisan make:request StoreUserRequest

यह कोड app/Http/Requests/StoreUserRequest.php फाइल में एक फॉर्म रिक्वेस्ट क्लास को जनरेट करता है। इस क्लास में आप अपनी जरूरत के अनुसार वेलिडेशन रूल्स को मैन्युअल डिफाइन कर सकते हैं.

// app/Http/Requests/StoreUserRequest.php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class StoreUserRequest extends FormRequest

{

    public function authorize()

    {

        return true; // here it Or implement authorization logic in form

    }

    public function rules()

    {

        return [

            ’emp_name’ => ‘required|string|max:255’,

            ’email’ => ‘required|email|unique:users,email’,

            ‘password’ => ‘required|string|min:12|confirmed’,

        ];

    }

}

यहाँ आप अपने फॉर्म कंट्रोलर मेथड में इस रिक्वेस्ट क्लास का यूज़ कर सकते हैं.

// app/Http/Controllers/UserController.php

namespace App\Http\Controllers;

use App\Http\Requests\StoreUserRequest;

class UserController extends Controller

{

    public function store(StoreUserRequest $request)

    {

        // here Validation process is already done, now it proceed to handle the form data

        // Example: User::create([…]);

        return redirect()->back()->with(‘message’, ‘User form created successful’);

    }

}

यहाँ फ़ॉर्म रिक्वेस्ट वेलिडेशन के साथ यूजर का फॉर्म वेलिडेशन लॉजिक क्लियर आर्डर में सेपरेट हो जाता है, जो की फॉर्म वेलिडेशन सोर्स कोड को रीडेबल और इजी मेंटेनेंस में हेल्प करता है।

Laravel Forms Authentication Features.

लारावेल पीएचपी फ्रेमवर्क इसके यूजर को एक स्ट्रांग ऑथेंटिकेशन सिस्टम प्रोवाइड करता है जिसमें यूजर लॉगिन, रजिस्ट्रेशन, पासवर्ड रीसेट और अन्य कई फीचर्स  मौजूद होते है। एक सामान्य यूजर अपने सिस्टम में लारावेल ब्रीज, लारावेल जेटस्ट्रीम, या लारावेल यूआई कॉम्पोनेन्ट को यूज़ करके अपने ऐप में इजी आर्डर में ऑथेंटिकेशन सिस्टम को मैन्युअल आर्डर में सेट कर सकते हैं। तो चलिए यहाँ लारावेल ब्रीजे को यूज़ करके ऑथेंटिकेशन मेथड को बेहतर जाने, जो एक सबसे इजी यूज़फुल ऑथेंटिकेशन पैकेज मेथड है।

Setting up authentication with Laravel Breeze.

Install Breeze in the Laravel framework.

यहाँ आप कंपोजर के द्वारा लारावेल ब्रीजे को मैन्युअल इंस्टॉल करने के लिए निचे दिए गए कमांड को रन करे।

composer require laravel/breeze –dev

Install the Laravel Breeze scaffolding.

इसे इंस्टॉल करने के बाद लारावेल ब्रीजे के ऑथेंटिकेशन स्कैफ़ोल्डिंग (व्यू, रूट, कंट्रोलर, आदि) को पब्लिश्ड करने के लिए निचे दिए गए कमांड को रन करे.

php artisan breeze:install

Install frontend dependencies to the system.

लारावेल ब्रीजे में फ़्रंटएंड स्कैफ़ोल्डिंग फीचर्स भी मौजूद है, जिसके लिए npm डिपेंडेंसी जरूरी हैं। आप इसे इंस्टॉल करें और एसेट को कम्पाइल करें।

npm install

npm run dev

Migrate the database to the system.

लारावेल ब्रीजे को यूजर के लिए मैन्युअल टेबल ऐड करने की आवश्यकता है, इस वजह से जरूरी टेबल्स जैसे, यूजर, पासवर्ड_रिसेट, आदि क्रिएट करने के लिए एक माइग्रेशन को रन करे.

php artisan migrate

Laravel Breeze authentication routes.

लारावेल ब्रीजे आटोमेटिक आर्डर में ऑथेंटिकेशन के लिए जरूरी रूट जनरेट करता है, जिसमें यूजर लॉगिन, रजिस्ट्रेशन, पासवर्ड रीसेट, और ईमेल वेलिडेशन फीचर्स  मौजूद हैं। यहाँ आप इन रूट्स को routes/web.php फाइल में डिफाइन और व्यू कर सकते हैं।

Route::middleware(‘guest’)->group(function () {

    Route::get(‘/login’, [AuthenticatedSessionController::class, ‘create’])

        ->emp_name(‘login’);

    Route::post(‘/login’, [AuthenticatedSessionController::class, ‘store’]);

    Route::get(‘/register’, [RegisteredUserController::class, ‘create’])

        ->emp_name(‘register’);

    Route::post(‘/register’, [RegisteredUserController::class, ‘store’]);

});

Route::middleware(‘auth’)->group(function () {

    Route::get(‘/dashboard’, function () {

        return view(‘dashboard’);

    })->emp_name(‘dashboard’);

    Route::post(‘/logout’, [AuthenticatedSessionController::class, ‘destroy’])

        ->emp_name(‘logout’);

});

यहाँ /login और /register को AuthenticatedSessionController और RegisteredUserController के माध्यम से ऑटोमेटिकली आर्डर में मैनेज और कण्ट्रोल किया जाता है।

Using Authentication in Controllers.

इसमें आप बिल्ट-इन फॉर्म ऑथेंटिकेशन कैपेबिलिटी को यूज़ कर सकते हैं। जैसे की, आप auth() हेल्पर का यूज़ यह चेक करने के लिए कर सकते हैं कि कोई यूजर लॉग इन है या नहीं या ऑथेंटिकेट यूजर को रिसीव करें।

    use Illuminate\Support\Facades\Auth;

    // Check if the user is authenticated

    if (Auth::check()) {

        // system User is logged in

    }

    // here it Get the only authenticated user

    $user = Auth::user();

Reset the password.

लारावेल फ्रेमवर्क में लॉगिन यूजर पासवर्ड रीसेट करने की बिल्ट-इन कैपेबिलिटी फीचर्स भी मौजूद है। यदि फ्रेमवर्क में कोई यूजर अपना पासवर्ड भूल जाता है, तो वह फ्रेमवर्क में पासवर्ड रीसेट लिंक को रिक्वेस्ट कर सकता है, जो की रजिस्टर ऑथेंटिकेट यूजर के ईमेल आईडी पर सेंड किया जाता है।

Routes and Controllers – लारावेल फ्रेमवर्क आपको यूजर लॉगिन पासवर्ड रीसेट को मैनेज करने के लिए आवश्यक रूट और कंट्रोलर प्रोवाइड करता है, जैसे password.reset और password.email कंट्रोलर है।

जब यूजर लारावेल ब्रीजे या जेटस्ट्रीम को इंस्टॉल करते हैं, तो ये रूट अपने आप डिफ़ॉल्ट रूप से सेट हो जाते हैं।

Sending a reset link – एक जनरल ओवरव्यू में आप यूजर को रीसेट पासवर्ड लिंक सेंड करने के लिए अपने व्यूज़ में एक फ़ॉर्म को ऐड कर सकते हैं.

    // resources/views/auth/forgot-password.blade.php

    <form method=”POST” action=”{{ route(‘password.email’) }}”>

        @csrf

        <label for=”email”>Email</label>

        <input type=”email” name=”email” required autofocus>

        <button type=”submit”> Password Link For Reset </button>

    </form>

Reset Process – आपके द्वारा सेंड किये गए लिंक पर जब यूजर पासवर्ड रीसेट लिंक लिंक पर क्लिक करता है, तो यह लिंक उसे एक ऐसे पेज पर रीडायरेक्ट करता है, जहाँ वह एक नया यूजर पासवर्ड एंटर कर सकता है। और आवश्यक कंट्रोलर और रूट पहले से ही लारावेल फ्रेमवर्क के ऑथेंटिकेशन स्कैफोल्डिंग द्वारा सेट किए गए होते हैं।

Laravel Authorization Access Control Features.

एक बार जब आप यूजर के लिए लारावेल फ्रेमवर्क में ऑथेंटिकेशन को सेट कर लेते हैं, तो आप यूजर ऑथरिजेशन प्रोसेस को कण्ट्रोल भी करना चाह सकते हैं, इसका मतलब है की आप यह तय कर सकते हैं कि किन यूजर को सिस्टम में कोनसे सिस्टम रोल्स या पेर्मिशन्स के आधार पर एप्लिकेशन के कुछ पर्टिकुलर हिस्सों तक एक्सेस प्रोवाइड कर करना चाह सकते है।

Using Gates and Policies in Laravel.

लारावेल फ्रेमवर्क में ऑथरिजेशन प्रोसेस को मैनेज करने के लिए आपको कई गेट और पॉलिसीस प्रोवाइड करता है।

Laravel Framework Gate.

लारावेल फ्रेमवर्क में गेट का यूज़ एक सिंपल ऑथरिजेशन प्रोसेस लॉजिक के लिए किया जाता है, जिसे एक ही कॉल के माध्यम से चेक किया जा सकता है।

app/Providers/AuthServiceProvider.php में एक लारावेल फ्रेमवर्क गेट को डिफाइन करें।

use Illuminate\Support\Facades\Gate;

public function boot()

{

    $this->registerPolicies();

    Gate::define(‘view-dashboard’, function ($user) {

        return $user->is_admin; // here it Only allow if the user is an admin user with privileges

    });

}

Then here in a controller or view, you can check the gate like this:

if (Gate::allows(‘view-dashboard’)) {

    // now authenticate admin User can view the dashboard

} else {

    // unauthorized Access denied

}

Laravel Framework Policies.

लारावेल फ्रेमवर्क में पॉलिसीस वे क्लास होती हैं, जहाँ आप स्पेफिक मॉडल या टास्क और एक्शन्स के लिए ऑथरिजेशन लॉजिक को डिफाइन कर सकते हैं।

Create a Laravel Framework policy.

php artisan make:policy PostPolicy

Define authorization logic in a policy class in the Laravel framework.

public function update(User $user, Post $post)

{

    return $user->id === $post->user_id;

}

Here we Register the policy in AuthServiceProvider.

protected $policies = [

    Post::class => PostPolicy::class,

];

Here we Use the policy in controllers.

    if ($user->can(‘update’, $post)) {

        // User can update the post

    } else {

        // Access denied

    }

Here’s a brief summary of the Laravel PHP framework.

लारावेल पीएचपी फ्रेमवर्क में वेबपेज एचटीएमएल फ़ॉर्म वेलिडेशन, ऑथेंटिकेशन, ऑथरिजेशन और पासवर्ड रीसेट जैसे जनरल सिस्टम टास्क एक्टिविटीज को इजी करने के लिए पॉवरफुल बिल्ट-इन लाइब्रेरी और टूल प्रोवाइड करता है।

Conclusion of Using Built-in laravel framework Libraries and Tools.

  • Form validation – यहाँ लारावेल पीएचपी फ्रेमवर्क में आने वाले सिस्टम डेटा रिक्वेस्ट को वेलिडेट करने के लिए validate() फॉर्म मेथड या फ़ॉर्म रिक्वेस्ट वेलिडेशन को यूज़ करते है।
  • User authentication – यह लारावेल पीएचपी फ्रेमवर्क में लारावेल ब्रीजे या जेटस्ट्रीम यूजर ऑथेंटिकेशन लॉगिन, रजिस्ट्रेशन, पासवर्ड रीसेट आदि को अप्लाई करना इजी करता है।
  • User authorization – लारावेल पीएचपी फ्रेमवर्क में यूजर एक्सेस कंट्रोल को मैनेज करने और यह तय करने के लिए कि केवल अधिकृत यूजर ही कुछ एक्शन या एक्टिविटीज परफॉर्म कर सकें इसके लिए लारावेल गेट्स और पॉलिसीस को यूज़ करें।

Leave a Reply