تخفیف نوروزی پی استور

کد تخفیف: PR1404

شامل تمامی آثار
روز
ساعت
دقیقه
ثانیه

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

تنظیمات دیتابیس در لاراول 6

آموزش روت مدل بایندینگ Route Model Binding در لاراول ۶

(دیدگاه کاربر 2)
امتیاز 5.00 از 5

تهیه‌کننده: 

تنظیمات دیتابیس در لاراول 6

هزینه سفارش:

۹۹,۰۰۰ تومان

تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.

روت مدل بایندینگ Route Model Binding در لاراول چیست؟

Route Model Binding در لاراول امکانی فراهم می کند تا بتوان یک نمونه از مدل Model را در Route تزریق کرد. در Laravel ارتباط کاربران با برنامه یا اپلیکیشن یا سایت از طریق فایل های view و route ها می باشد. اگر بخواهیم مفهوم استفاده از مدل در route را به درستی بیان کنیم باید بدانیم Request چیست؟

در فایل های view هر لینک یا دکمه ای که مشاهده می کنید، در واقع یک route برایش تعریف شده است. شما با هر کلیک یک درخواست یا Request ارسال می کنید اما چون پشت هر دکمه، لینک و آدرسی ( تگ a، دکمه submit و …) یک روت route تعریف شده است، درواقعیت درخواست یا Request شما به Route ها سپرده و واگذار می شود.

وظیفه Route ها تصمیم گیری درمورد درخواست شماست. بدین صورت که request را به مقصدی که برایش تعریف کرده اند، می فرستد. این مقصد می تواند یک متد در یک Controller و یا یک Closure باشد که بستگی به تعریف route توسط برنامه نویس دارد. درخواست ها در مقصد پردازش خواهند شد. اما نکته جالب این است که ما میتوانیم یک یا چند پارامتر را هم با request به route بفرستیم. مثلا فرض کنیدیک تگ a داریم که href آن اینگونه تعریف شده است:

<a href="/posts/1">نمایش پست </a>

و در فایل web.php این روت یا مسیر را با یک Closure اینگونه تعریف کرده ایم:

Route::get('/posts/{id}', function($id){
dd($id);	
});

اگر سرور لارول run باشد (php artisan serve) و کاربر روی لینک کلیک کند یا در آدرس بار مرورگر تایپ کند عبارت “۱”در صفحه چاپ خواهد شد. در مثال بالا ما یک پارامتر تحت عنوان id را در لینک قرار دادیم. کاربر با کلیک بر روی آن، این پارامتر را از طریق request به route منتقل کرد. route نیز این پارامتر را به Closure انتقال داد تا پردازش شود. در کلوژر پردازش ما به این صورت شد که از پارامتر id، dye and dump یا dd() گرفتیم تا پارامتر را نشان بدهیم.

اساس کار Route Model Binding یا تزریق model در route

ما توانستیم داده ای را از طریق Route انتقال دهیم پس همچنین می توانیم id هر پست را به پردازشگر مقصد، انتقال دهیم تا post با id  مورد نظر از database گرفته شود. حال فرض کنید تمام پست هایی که در جدول posts موجود است به صورت لیست در یک صفحه آورده شده و ما میخواهیم با کلیک بر روی هر یک، اطلاعات پست مربوطه را ببینیم. برای این کار باید برای هر کدام از پست ها تگ a اینگونه تعریف شود:

<a href="/posts/{{$post->id}}" >نمایش پست</a>

(Id هر پست به Route انتقال داده می شود.) و در فایل web.php، مسیر یا Route مربوط به این لینک را اینگونه تعریف می کنیم:

Route::get('/posts/{post_id}', function($post_id){
     $post = Post::findOrFail($id);
     dd($post);	
});

با این کد اطلاعات هر پست به محض کلیک روی لینکش، نمایش داده خواهد شد. این کد کاملا صحیح بوده و کار خواهد کرد، اما Laravel پا فراتر گذاشته و امکانات جالبی برایمان فراهم ساخته است که به عنوان Route Model Binding از آن یاد می شود. به این صورت که ما میتوانیم به جای تزریق id پست به route و سپس جستجوی پست با id مربوطه در دیتابیس، خود پست را بهroute تزریق کنیم و در کنترلر (Controller) یا Closure (کلوژر)، post با همان id را دریافت کنیم :

Route::get('/posts/{post}', function(App\Post $post){
     dd($post);	
});

نتیجه و جواب هر دو کد بالا یکی است اما کد دوم خوانا تر، زیباتر و کوتاه تر است. به این کار Route Model Binding می گویند. درواقع مدل را به روت تزریق کردیم. لاراول به قدری هوشمند است که به محض خواندن کد دوم، میداند که باید با ID ها کار کند اما در پشت پرده. لاراول می فهمد که پیدا کردن $post نیازمند جستجو در ستون id جدول posts است. پس خودلاراول، کد اول را در پشت صحنه اجرا می کند:

$post = Post::findOrFail($id);

استفاده از Route Model Binding

استفاده از Route Model Binding یا inject model into route بسیار راحت است اما باید ۳ قانون زیر را رعایت کرد:

  • نام پارامتر route که داخل علامت {} درج می شود باید با نام MODEL همخوانی داشته باشد، یعنی نام پارمتر باید همان نام مدل باشد اما با حرف اول کوچک. مثلا در مورد مدل User، نام پارامتر بایدuser باشد.
  • استفاده از type hint. یعنی نام مدل و نام پارامتر هر دو در ورودی Closure یا متد کنترلر درج شود:
function(App\Post $post)
  • نام پارامتر route همان {post} با نام پارامتر کلوژر، $post ، باید برابر باشد.

مزایای استفاده از Route Model Binding

  • کد های زیباتر
  • حجم کد کم یا تعداد کد های کمتر

در بسیاری از منابع و مراجع آموزشی، تعاریف زیر دیده می شوند:

Route Model Binding چیست؟ چسباندن مدل به روت یا اتصال Model به Route

مغهوم Route Model Binding چیست؟ تزریق Model به) Route تزریق مدل در روت(

معنی Route Model Binding چیست؟ استفاده از Model در Route

معنی و مفهوم Route Model Binding چیست؟ پس کردن Model به Route یا تزریق نمونه ای از Model یه Route

معنی و مفهوم Route Model Binding چیست؟ استفاده از مدل در route

معنی و مفهوم Route Model Binding چیست؟ استفاده از مدل در روت

شما بعد از مشاهده این جلسه آموزشی و مثال های آن، قادر خواهید بود به راحتی، مفهوم زیبا و جادویی route model binding را در سرتاسر سایت، برنامه یا اپلیکیشن لاراولی تان پیاده کرده و کدهای زیباتر و در عین حال با حجم کمتر بنویسید. شما خواهید توانست در متد های show create update delete و… از این امکان به خوبی و آسانی استفاده کنید.

منابع:

۱. https://laravel.com/docs/5.8/routing
۲. https://scotch.io/tutorials/cleaner-laravel-controllers-with-route-model-binding
۳. https://vegibit.com/route-model-binding-in-laravel/
۴. https://medium.com/@winni4eva/laravels-route-model-bindings-f051b088e542
۵. https://laracasts.com/series/laravel-from-scratch-2017/episodes/9

برای مشاهده جلسه یازدهم ویرایش EDIT، حذف DELETE و بروزرسانی UPDATE رکورد ) کلیک کنید.


مشخصات فیلم آموزشی

نام اثر : فیلم آموزش صفر تا صد لاراول – جلسه دهم: آموزش روت مدل بایندینگ Route Model Binding در لاراول ۶

مدرس : مهندس سالار عباپور

مدت زمان : 27 دقیقه

زبان آموزش : فارسی

حجم فایل : یک فایل با حجم ۴۰ مگا بایت

فرمت ویدئو : MP4 با کیفیت بالا


پیش نمایش

درباره محصول

فیلم آموزش صفر تا صد لاراول – جلسه دهم: آموزش روت مدل بایندینگ Route Model Binding در لاراول ۶ محصولی است که در این پست به آن پرداخته شده است.  در این آموزش به توضیح و معرفی تزریق model در route یا استفاده از مدل در روت پرداخته شده و طریقه استفاده از model در route کامل توضیح داده شده است. این محصول بصورت کامل توسط گروه پشتیبانی پی استور تست و بازبینی شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد.

مشخصات تکمیلی

نام اثر: آموزش روت مدل بایندینگ Route Model Binding در لاراول ۶
نوع اثر:
سالار عباپور

 سالار عباپور

فارغ التحصیل رشته مهندسی برق

فارغ التحصیل رشته مهندسی برق و مدرس دوره های طراحی سایت - ایشان در زمینه طراحی سایت با زبان های برنامه نویسی PHP و فریمورک لاراول Laravel فعال هستند و همچنین یکی از تحلیل گران خبره در حوزه بازارهای مالی بین المللی و بورس هستند.

راهنمای خرید و ثبت سفارش

تصویر مراحل خرید از پی استور

اگر در مورد این اثر یا نحوه تهیه آن سوالی دارید؟
  • با شماره تلفن واحد مخاطبین 44225175 (پیش شماره 041) تماس بگیرید. – تمام ساعات اداری
  • با ما مکاتبه ایمیلی داشته باشید (این لینک). – تمام ساعات

نظرات

2 نظر|5.00 (میانگین امتیاز کاربران)

  1. آواتار sina

    sina

    آموزش جامعی بود. ممنون مهندس

  2. آواتار مدیریت و پشتیبانی

    مدیریت و پشتیبانی

    نظرات و پیشنهادات خود را با ما در میان بگذارید.

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شناسه اثر: 6300 دسته‌بندی موضوعی: برچسب:

هزینه سفارش:

۹۹,۰۰۰ تومان