loading...
طراحی وب- برنامه نویسی
برنامه نویس بازدید : 49 جمعه 04 مرداد 1398 نظرات (0)

در این مقاله قصد داریم به شما نحوه استفاده از انگولار در لاراول را آموزش دهیم. انگولار یکی از فریمورک های front-end محبوب است که برای ساخت برنامه های سمت کلاینت استفاده می شود.

در این مقاله یاد می گیریم که چطور می توان از این دو فریم ورک در کنار هم استفاده کرد و توسط یک api با هم تعامل برقرار کنند.

در این مثال یک اینترفیس ساده در انگولار ایجاد کرده  و سپس با فراخوانی یک api داده ها را ذخیره می کنیم. این مثال به شما نشان می دهد که چطور می توان از هر دوی این فریمورک ها برای ساخت یک برنامه full stack استفاده کرد و چگونگی اتصال آنها به یکدیگر توسط یک api را هم فرا خواهید گرفت.

سرفصل های این آموزش

  1. نصب انگولار
  2. ایجاد یک فرم برای ورود داده ها
  3. مدیریت داده های ورودی
  4. ارسال داده ها به سرور لاراول
  5. ایجاد back end برنامه در لاراول برای درخواست ها
  6. حل مشکل cors

توجه کنید:‌ در صورتیکه می خواهید فریم ورک انگولار یا لاراول را به صورت کامل (از صفر تا صد) و پروژه محور یاد بگیرید. دوره های ویدیویی آموزشی زیر را دریافت کنید:

و همچنین:

1- نصب انگولار

ابتدا باید Angular Cli را بصورت سراسری نصب کنیم. برای اینکار ترمینال را باز کرده و دستور زیر را در آن اجرا کنید.

حال یک پروژه انگولار جدید به نام ng4tutorial ایجاد خواهیم کرد. برای اینکار دستور زیر را در ترمینال اجرا کنید.

دستور فوق یک سری فایل و فولدر را ایجاد کرده و همچنین تمام وابستگی های بخش Front end برنامه را نصب می کند.

بعد از اتمام نصب، دستورات زیر را اجرا کنید.

 

2- ایجاد یک فرم برای ورود داده ها

انگولار یک فریمورک کاملاً ماژولاری است. یعنی شما می توانید با استفاده از این فریم ورک بخش های متعددی را به سایت خود در قالب یک ماژول اضافه کنید.

در انگولار تمام کامپوننت ها در مسیر src/app قرار می گیرند.

از فایل css بوت استرپ برای طراحی فرم مان استفاده می کنیم. برای این منظور فایل css بوت استرپ را دانلود کرده و در دایرکتوری src/assets قرار دهید. فایل index.html باید مطابق زیر باشد.

تمام فایل های استاتیک عمومی در فولدر assets قرار می گیرند و از آنجا قابل دسترسی هستند.

برای ساخت فرم، باید فایل app.component.html را بروزرسانی کنیم. این فایل در دایرکتوری src/app قرار دارد.

فایل app.component.ts در نهایت باید مطابق زیر باشد.

ظاهر فرم مان مطابق تصویر زیر است.

ساخت یک فرم در انگولار

3- مدیریت داده های ورودی

اول از همه باید دو ماژول زیر را به فایل app.module.ts ،import  کنیم.

  • FormsModule
  • HttpClienttModule

همچنین این ماژول ها را به آرایه imports اضافه می کنیم.

فایل src/app/app.module.ts در نهایت باید مطابق زیر باشد.

حال باید یک آبجکت فرم انگولار به کدهای html مان اضافه کنیم. کدهای نهایی app.component.ts باید مطابق زیر باشد.

در بالا یک خصیصه (attribute) به نام ngModule به فیلد ورودی اضافه می کنیم. این خصیصه به انگولار می گوید که چه مقادیری در فرم html مان قرار دارند. سپس آبجکت ایجاد شده و بعد از ارسال فرم می توانیم به آن آبجکت دسترسی داشته و مقادیر را از آن دریافت کنیم.

با این روش به انگولار می گوییم باید آبجکتی ایجاد کند و تمام عناصر فرم و مقادیرشان را توصیف نماید.

بعد از فشردن دکمه submit، متد onSubmit() فراخوانی شده و به این ترتیب می توانیم تمام مقادیر فرم را دریافت کنیم.

در بالا، متد onSubmit() تمام مقادیر فرم را دریافت می کند. حال ما می توانیم یک درخواست post به سرور لاراول ارسال کنیم. در این بخش در واقع می توان از انگولار در لاراول استفاده کرد.

4- ارسال داده ها به سرور لاراول (ارتباط انگولار در لاراول)

در مرحله بعد باید یک Http Service برای مدیریت درخواست های post فراخوانی کنیم.

ابتدا دو ماژول را در فایل app.component.ts ، import می کنیم.

در مرحله بعد می توانیم آن سرویس را فراخوانی کنیم. کد کامل فایل app.component.ts مانند زیر است.

در بالا من از promise و observable استفاده کردم.

5 – ایجاد بخش back-end برنامه جهت ارتباط انگولار در لاراول برای مدیریت درخواست ها

ترمینال را باز کرده و دستور زیر را برای ساخت یک پروژه لاراول اجرا کنید.

سپس مشخصات پایگاه داده MySQL تان را در فایل .env وارد کنید.

سپس، دستور زیر را در ترمینال وارد کنید.

به فایل migration که در مسیر database/migrations/create_item_table قرار دارد رفته و کدهای زیر را در آن کپی کنید.

دستور زیر را در ترمینال وارد کنید.

یک کنترلر با نام ItemController ایجاد کنید.

روت زیر را در فایل api.php قرار دهید.

سپس باید پروپرتی $fillable را برای جلوگیری از بروز استثنای mass assignment به مدل Item.php اضافه کنید.

متد store() را در فایل ItemController.php برای ذخیره داده ها در پایگاه داده، تعریف کنید.

حال با دستور زیر سرور لاراول را راه اندازی کنید.

 

6- حل مشکل cors برای ارتباط انگولار در لاراول

هنگامی که شما می خواهید از یک سرویس api لاراول به یک صفحه فرانتد خروجی بدهید معمولا خطای CORS که مخفف عبارت Cross-Origin Resource Sharing است، رخ می دهد. در واقع این خطا برای جلوگیری از استفاده api سایت مرجع در سایر سایت ها می باشد. یعنی به نحوی امنیت را برای API خروجی شما تامین می کند.

پکیج laravel-cors را برای جلوگیری از بروز این مسئله دانلود کنید.

cors\ServiceProvider را به آرایه providers در فایل config/app.php اضافه کنید.

برای اعمال Cors روی تمام روت های پروژه middleware HandleCors را به پروپرتی $middleware در کلاس app/Http/kernel.php اضافه کنید.

سپس با دستور زیر پیکربندی ها را publish نمایید.

به این ترتیب توانستیم با موفقیت انگولار را به لاراول اضافه کنیم.

 

منبع: روکسو

 

 
ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 346
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • آی پی امروز : 28
  • آی پی دیروز : 17
  • بازدید امروز : 196
  • باردید دیروز : 21
  • گوگل امروز : 2
  • گوگل دیروز : 5
  • بازدید هفته : 270
  • بازدید ماه : 635
  • بازدید سال : 7,144
  • بازدید کلی : 35,379