آموزش قدم به قدم فریم ورک لاراول- قسمت سوم

 بازدید: 238
 تاریخ انتشار: ۱۳ خرداد، ۱۳۹۷، ۶:۰۰ ق.ظ
آموزش قدم به قدم فریم ورک لاراول- قسمت سوم

در این مقاله با ادامه آموزش فریم ورک لاراول آشنا می شوید. در بخش های قبل با قسمتی از آموزش ساخت لیست لینک‌ها آشنا شدیم. در ادامه LinkFactory.php را باز کنید و به صورت زیر پر کنید:

 
از روش $faker->sentence() برای ساخت عنوان استفاده می کنیم و substr برای حذف دوره در انتهای جمله است.
سپس بذرپاش لینک را استفاده می کنیم بنابراین به راحتی می توانیم داده های دمو را به جدول اضافه کنیم:
php artisan make:seeder LinksTableSeeder

دستور make:seeder برای ایجاد جدول لینک‌های ما یک طبقه بذرپاش پایگاه داده جدید ایجاد می کند. فایل database/seeds/LinksTableSeeder.php را باز کرده و دستور زیر را اضافه کنید:
public function run()
{
    factory(App\Link::class, 5)->create();
}
 برای فعال کردن بذرپاش جدول لینک‌ها لازم است آن را از روش اجرای database/seeds/DatabaseSeeder.php اصلی فراخوانی کنیم:
public function run()
{
    $this->call(LinksTableSeeder::class);
}
اکنون می توانید مهاجرت‌ها را اجرا کنید و به داده‌های جدید جدول به طور خودبخود بذرپاشی کنید. با استفاده از دستور migrate:fresh می توان طرح تمیزی دریافت کرد که تمام مهاجرت‌ها را به کار می‌برد و سپس به پایگاه داده بذرپاشی می کند:
 
با استفاده از tinker shell می توانید شروع به کار با داده های مدل کنید:

 
اکنون مکان داده‌ها و مدلی را برای تعامل با دیتابیس داریم، بنابراین آماده هستیم تا ساخت UI را برای افزودن لینک‌ها به اپلیکیشن شروع کنیم.

مسیردهی و منظره‌ها، بخش مهمی از آموزش فریم ورک لاراول

برای ساخت یک منظره (view) که  لیست لینک‌ها را نشان دهد، نیاز داریم تا مسیر (route) پروژه جدید را بروزرسانی کنیم و یک مسیر جدید تعریف کینم که فرم های سابمیت شده‌ را نشان دهد. می توانیم در فایل routes/web.php مسیرهای جدید را به اپلیکیشن اضافه کنیم.
در فایل روت‌ها (مسیرهای) شبکه باید مسیر پیش فرض زیر را ببینید:

Route::get('/', function () {
    return view('welcome');
});
برای ایجاد روت جدید می توانیم یا از یک بسته روت استفاده کنیم یا از یک طبقه کنترل کننده اختصاصی. در این آموزش، از بسته‌ها برای مسیرهای ایندکس و سابمیت استفاده می‌کنیم.
اول، باید مسیر اصلی (home route) را بروز رسانی کنیم با استفاده از گرفتن مجموعه لینک ها از پایگاه داده و عبور آنها از منظره:
Route::get('/', function () {
    $links = \App\Link::all();

    return view('welcome', ['links' => $links]);
});
بعدی می تواند آرایه جمع‌کننده ای از داده‌ها باشد و کلید با نام متغیرها در فایل قالب به آخر می رسد.
همچنین اگر دوست دارید از یک API برای تعریف متغیرها استفاده کنید:
// with()
return view('welcome')->with('links', $links);

// dynamic method to name the variable
return view('welcome')->withLinks($links);

سپس فایل welcome.blade.php را ویرایش کنید و یک foreach ساده اضافه کنید تا همه لینک ها را نشان دهد:
@foreach ($links as $link)
    <a href="{{ $link->url }}">{{ $link->title }}</a>
@endforeach
در اینجا welcome.blade.php HTML باید به شکل زیر دیده شود:


 
اکنون اگر مرورگر را رفرش کنید باید لیست همه لینک‌های اضافه شده را ببینید. یادتان باشد مسیردهی لیست لینک‌ها بخش تعیین کننده‌ای برای این مثال آموزش فریم ورک لاراول است.