22
تشکر

Laravel: فرستادن اطلاعات به Views

Laravel 4

Laravel 4

در مطلب قبل ما دو صفحه درست کردیم، و با استفاده از Route، آن‌ها را مسیریابی کردیم. برای مثال گفتیم اگر کاربر آدرس http://example.com/register را باز کرد، صفحه register.blade.php را به کاربر نشان بدهد.

فرض کنید زمانی که کاربر صفحه ایندکس را فراخوانی کرد، ما باید از دیتابیس مقداری را فراخوانی کنیم و به صفحه home.blade.php بفرستیم، سپس این صفحه را به کاربر نمایش دهیم. پس در این مطلب میخواهیم نحوه فرستادن اطلاعات به یک صفحه را با هم بررسی کنیم.

در ادامه همراه ما باشید…

ما در مطلب قبلی برای درخواست صفحه ایندکس کد زیر را در فایل routes.php قرار دادیم:

Route::get('/', function() {
    return View::make('home');
});

حالا میخواهیم اطلاعاتی را نیز به صفحه home بفرستیم. برای مثال در فایل home.blade.php کد زیر را اضافه میکنیم

<?php echo $user_display_name; ?>

حالا اگر صفحه ایندکس را اجرا کنید، با پیغام خطا روبرو می‌شوید، زیرا ما هنوز متغیر user_display_name را تعریف نکردیم و به این صفحه نفرستادیم. برای فرستادن اطلاعات به Views میتوان از چندین روش استفاده کرد.

روش اول

روش اول استفاده از with است. برای مثال در کد زیر ما اطلاعات لازم را به صفحه home.blade.php ارسال میکنیم.

Route::get('/', function() {
  $user_display_name = 'javad'; 
  return View::make('home') -> with ('user_display_name', $user_display_name);
});

حالا اگر دوباره صفحه ایندکس را اجرا کنید، مشاهده میکنید که صفحه و اطلاعات ارسالی به درستی نمایش داده میشود. اگر بخواهیم چندین متغیر را ارسال کنیم باید از آرایه استفاده کنیم. مانند زیر:

Route::get('/', function() {
  $user_display_name = 'javad';
  $user_message = 'foo'; 
  return View::make('home') -> with (array(
    'user_display_name'=> $user_display_name,
    'user_message' => $user_message 
  ));
});

روش دوم

روش دوم ارسال اطلاعات به صورت پارامتری است. برای مثال همان اطلاعات بالا را میتوان مانند زیر ارسال کرد.

Route::get('/', function() {
  $data = array(
    'user_display_name'=> 'javad',
    'user_message' => 'foo'
  ); 
  return View::make('home', $data);
});
این مطلب از سری مطالب، آموزش فریم ورک Laravel است
  • قرباني می‌گه:

    واقعا ممنون.مطلب در رابطه با لاراول من خیلی کم پیدا کردم.ممنون میشم اگر حجم مطالب آموزشی هر جلسرو بیشتر کنید.

  • آشنا می‌گه:

    این یکی چی به نظرتون جواب نمیده؟

  • محمد جهانی می‌گه:

    مرسی خیلی خوب بود. فقط بهتره که به جای
    < ?php echo $user_display_name; ?>
    از
    {{ $user_display_name }}
    استفاده بشه.


  • نظرات این مطلب بسته است.