مارک پلاس

تکنولوژی نوین اینترنتی

انتقال داده‌ها به ویو از کنترلر

دسته‌بندی‌ها

انتقال داده‌ها به ویو از کنترلر

📦 انتقال داده از کنترلر به ویو در Laravel


✅ روش‌های متداول ارسال داده به View

1. ⛳ با استفاده از تابع view() و متغیر دوم

php
public function show() { $name = 'Ali'; return view('user.profile', ['name' => $name]); }

در فایل Blade (resources/views/user/profile.blade.php):

blade
<h1>Hello, {{ $name }}</h1>

2. 🎯 استفاده از compact()

php
public function show() { $name = 'Ali'; $age = 25; return view('user.profile', compact('name', 'age')); }

این روش خیلی محبوبه چون کوتاه‌تر و خواناتره.


3. 📬 ارسال چند مقدار به‌صورت آرایه

php
public function show() { return view('user.profile', [ 'name' => 'Sara', 'city' => 'Tehran', ]); }

4. 🧠 ارسال آبجکت یا مدل

php
public function show($id) { $user = User::findOrFail($id); return view('user.profile', compact('user')); }

در Blade:

blade
<p>Name: {{ $user->name }}</p>

📁 ساختار View فرضی

bash
resources/views/ └── user/ └── profile.blade.php

✨ نکته‌های حرفه‌ای

  • متغیرهایی که به ویو فرستاده می‌شن مستقیماً در قالب Blade قابل استفاده هستن.

  • می‌تونی از @foreach, @if و سایر دستورات Blade برای نمایش داده‌ها استفاده کنی.

  • برای امنیت، Blade خودش خروجی رو escape می‌کنه → از {!! !!} فقط برای HTML خام استفاده کن.


🔥 مثال کامل

Controller:

php
public function dashboard() { $tasks = Task::where('user_id', auth()->id())->get(); return view('dashboard.index', compact('tasks')); }

Blade:

blade
<ul> @foreach ($tasks as $task) <li>{{ $task->title }}</li> @endforeach </ul>

محتوای مرتبط

پست‌های مرتبط