अध्याय 6: Laravel व्यूज (Laravel Views)

अध्याय 6: Laravel व्यूज (Laravel Views)

इस अध्याय में, हम Laravel के व्यूज (Views) के बारे में जानेंगे। व्यूज आपके एप्लिकेशन के यूजर इंटरफेस को प्रस्तुत करने के लिए उपयोग किए जाते हैं। वे HTML, CSS, और JavaScript का उपयोग करके आपके एप्लिकेशन के फ्रंटेंड को बनाते हैं। Laravel का Blade टेम्प्लेट इंजन व्यूज को बनाने और प्रबंधित करने के लिए एक शक्तिशाली और लचीला तरीका प्रदान करता है। इस अध्याय में, हम Blade टेम्प्लेट्स, डेटा पासिंग, और व्यू कम्पोजर्स जैसी विभिन्न अवधारणाओं का पता लगाएंगे। आइए, Laravel व्यूज की इस गहन यात्रा की शुरुआत करें और जानें कि कैसे आप अपने वेब एप्लिकेशन के यूजर इंटरफेस को आकर्षक और प्रभावी बना सकते हैं।

व्यू की उत्पत्ति (Creating Views)

Laravel में व्यूज आपके एप्लिकेशन के यूजर इंटरफेस को प्रस्तुत करने के लिए उपयोग किए जाते हैं। व्यूज HTML, CSS, और JavaScript का उपयोग करके आपके एप्लिकेशन के फ्रंटेंड को बनाते हैं। Laravel का Blade टेम्प्लेट इंजन व्यूज को बनाने और प्रबंधित करने के लिए एक शक्तिशाली और लचीला तरीका प्रदान करता है। आइए, हम Laravel में व्यूज बनाने के विभिन्न चरणों को समझें।

1. व्यू फाइल बनाना (Creating a View File)

व्यूज को resources/views डायरेक्टरी में रखा जाता है। एक व्यू फाइल बनाने के लिए, इस डायरेक्टरी में एक नया फाइल बनाएं। उदाहरण के लिए:

resources/views/welcome.blade.php

यह फाइल एक साधारण HTML फाइल हो सकती है, लेकिन Blade टेम्प्लेट्स का उपयोग करने से आप इसे अधिक शक्तिशाली बना सकते हैं।

2. Blade टेम्प्लेट इंजन (Blade Template Engine)

Laravel का Blade टेम्प्लेट इंजन व्यूज को बनाने और प्रबंधित करने के लिए एक सरल और शक्तिशाली तरीका प्रदान करता है। आप Blade के डायरेक्टिव्स और सिंटैक्स का उपयोग करके अपने व्यूज को अधिक डायनामिक बना सकते हैं।

उदाहरण: साधारण Blade टेम्प्लेट

<!-- resources/views/welcome.blade.php -->
<!DOCTYPE html>
<html>
<head>
    <title>Welcome to Laravel</title>
</head>
<body>
    <h1>{{ $title }}</h1>
    <p>Welcome to Laravel Tutorial in Hindi.</p>
</body>
</html>

3. व्यू को रिटर्न करना (Returning a View)

व्यूज को रिटर्न करने के लिए, आप अपने कंट्रोलर या रूट्स में view हेल्पर का उपयोग कर सकते हैं।

उदाहरण: कंट्रोलर में व्यू को रिटर्न करना

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PagesController extends Controller
{
    public function welcome()
    {
        $title = 'Welcome to Laravel';
        return view('welcome', ['title' => $title]);
    }
}

उदाहरण: रूट में व्यू को रिटर्न करना

use Illuminate\Support\Facades\Route;

Route::get('/welcome', function () {
    $title = 'Welcome to Laravel';
    return view('welcome', ['title' => $title]);
});

4. डेटा पास करना (Passing Data to Views)

आप व्यूज में डेटा पास कर सकते हैं ताकि वे अधिक डायनामिक बन सकें। डेटा पास करने के कई तरीके हैं, जैसे कि with मेथड, कंपैक्ट फंक्शन, और एसोसिएटिव ऐरे का उपयोग।

उदाहरण: with मेथड का उपयोग

return view('welcome')->with('title', 'Welcome to Laravel');

उदाहरण: compact फंक्शन का उपयोग

$title = 'Welcome to Laravel';
return view('welcome', compact('title'));

उदाहरण: एसोसिएटिव ऐरे का उपयोग

$title = 'Welcome to Laravel';
return view('welcome', ['title' => $title]);

5. Blade के डायरेक्टिव्स (Blade Directives)

Blade में कई डायरेक्टिव्स होते हैं जो आपको व्यूज में लॉजिक और कंटेंट को प्रबंधित करने में मदद करते हैं। कुछ सामान्य डायरेक्टिव्स हैं:

  • @if, @elseif, @else, और @endif
  • @foreach और @endforeach
  • @for और @endfor
  • @csrf (फॉर्म्स में CSRF टोकन जोड़ने के लिए)
  • @include (एक व्यू में दूसरे व्यू को शामिल करने के लिए)

उदाहरण: Blade डायरेक्टिव्स का उपयोग

<!-- resources/views/welcome.blade.php -->
<!DOCTYPE html>
<html>
<head>
    <title>Welcome to Laravel</title>
</head>
<body>
    <h1>{{ $title }}</h1>

    @if ($title == 'Welcome to Laravel')
        <p>This is the Laravel tutorial.</p>
    @else
        <p>Another tutorial.</p>
    @endif

    @foreach ($items as $item)
        <p>{{ $item }}</p>
    @endforeach
</body>
</html>

Laravel में व्यूज बनाना और प्रबंधित करना Blade टेम्प्लेट इंजन की सहायता से बहुत सरल और प्रभावी हो जाता है। यह टेम्प्लेट इंजन आपके व्यूज को अधिक डायनामिक और शक्तिशाली बनाने में मदद करता है। व्यूज को सही ढंग से उपयोग करके, आप अपने एप्लिकेशन का यूजर इंटरफेस आकर्षक और उपयोगकर्ता के अनुकूल बना सकते हैं।

Blade टेम्प्लेट्स में डेटा पास करना (Passing Data to Blade Templates)

Laravel में, आप आसानी से Blade टेम्प्लेट्स में डेटा पास कर सकते हैं ताकि वे अधिक डायनामिक और उपयोगकर्ता-अनुकूल बन सकें। डेटा पास करने के कई तरीके हैं, जैसे कि एसोसिएटिव ऐरे, with मेथड, और compact फंक्शन का उपयोग करना। आइए, हम इन विभिन्न तरीकों को विस्तार से समझें।

1. एसोसिएटिव ऐरे का उपयोग (Using Associative Arrays)

आप डेटा को एसोसिएटिव ऐरे के रूप में व्यूज में पास कर सकते हैं।

उदाहरण: कंट्रोलर में

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PagesController extends Controller
{
    public function welcome()
    {
        $title = 'Welcome to Laravel';
        $description = 'This is a Laravel tutorial in Hindi.';
        return view('welcome', ['title' => $title, 'description' => $description]);
    }
}

Blade टेम्प्लेट में डेटा का उपयोग करना

<!-- resources/views/welcome.blade.php -->
<!DOCTYPE html>
<html>
<head>
    <title>{{ $title }}</title>
</head>
<body>
    <h1>{{ $title }}</h1>
    <p>{{ $description }}</p>
</body>
</html>

2. with मेथड का उपयोग (Using the with Method)

आप with मेथड का उपयोग करके भी डेटा पास कर सकते हैं। यह मेथड एक चेनिंग मेथड है जो डेटा को व्यू में पास करने के लिए उपयोग किया जाता है।

उदाहरण: कंट्रोलर में

public function welcome()
{
    $title = 'Welcome to Laravel';
    return view('welcome')->with('title', $title);
}

 

Blade टेम्प्लेट में डेटा का उपयोग करना

<!-- resources/views/welcome.blade.php -->
<!DOCTYPE html>
<html>
<head>
    <title>{{ $title }}</title>
</head>
<body>
    <h1>{{ $title }}</h1>
</body>
</html>

3. compact फंक्शन का उपयोग (Using the compact Function)

आप compact फंक्शन का उपयोग करके एक या एक से अधिक वेरिएबल्स को व्यू में पास कर सकते हैं।

उदाहरण: कंट्रोलर में

public function welcome()
{
    $title = 'Welcome to Laravel';
    $description = 'This is a Laravel tutorial in Hindi.';
    return view('welcome', compact('title', 'description'));
}

 

Blade टेम्प्लेट में डेटा का उपयोग करना

<!-- resources/views/welcome.blade.php -->
<!DOCTYPE html>
<html>
<head>
    <title>{{ $title }}</title>
</head>
<body>
    <h1>{{ $title }}</h1>
    <p>{{ $description }}</p>
</body>
</html>

 

4. व्यू कम्पोजर्स का उपयोग (Using View Composers)

व्यू कम्पोजर्स एक अधिक उन्नत तरीका है जो आपको व्यूज में डेटा पास करने के लिए उपयोग किया जा सकता है। आप व्यू कम्पोजर्स का उपयोग करके एक या एक से अधिक व्यूज में डेटा बांध सकते हैं।

उदाहरण: व्यू कम्पोजर बनाना

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\View;

class ViewServiceProvider extends ServiceProvider
{
    public function boot()
    {
        View::composer('welcome', function ($view) {
            $view->with('title', 'Welcome to Laravel');
        });
    }

    public function register()
    {
        //
    }
}

 

Blade टेम्प्लेट में डेटा का उपयोग करना

<!-- resources/views/welcome.blade.php -->
<!DOCTYPE html>
<html>
<head>
    <title>{{ $title }}</title>
</head>
<body>
    <h1>{{ $title }}</h1>
</body>
</html>

Service Provider को पंजीकृत करना config/app.php फाइल में, providers ऐरे में App\Providers\ViewServiceProvider::class जोड़ें।

Laravel में Blade टेम्प्लेट्स में डेटा पास करने के ये विभिन्न तरीके आपको अपने व्यूज को अधिक डायनामिक और उपयोगकर्ता-अनुकूल बनाने की सुविधा देते हैं। इन तरीकों का सही उपयोग करके, आप अपने एप्लिकेशन को अधिक प्रभावी ढंग से विकसित कर सकते हैं।



Index