استفاده از فریم ورک آنگولار ۲ برای توسعه دهندگاه php و لاراول

  • 183 بازدید
  • استفاده از فریم ورک آنگولار ۲ برای توسعه دهندگاه php  و لاراول

    انگولار یک فریم ورک سمت کاربر هست که برای ساخت وبسایت های تک برگی از آن استفاده میشود. لاراول یک فریم ورک محبوب و کارا برای برنامه نویسان زبان سمت سرور php هست. با توجه به قدرت آنگولار ۲ و محبوبیت و قدرت فریم ورک لاراول، پیوند این دو میتواند بسیار کاربردی و لذت بخش باشد.

    انگولار با کمک بسته مدیریتی npm، پس از طراحی سمت کاربر سایت ، قابل کامپایل هست و در نهایت میتوان از آن خروجی html ، css و js گرفت. این بسته خروجی براحتی در هاست قابل آپلود و اجراست. اما این تازه سمت کاربر سایت هست و توانایی های سمت سرور مانند کار بابانک اطلاعاتی  را ندارد. روش پیشنهادی ما برای برنامه نویسان تحت لاراول ایجاد یک سری api  و ارتباط انگولار از راه این api ها با سرور میباشد. زیرا ترکیب فایل های خروجی آنگولار با موتور blade در لاراول کار بسیار دشواری است.

    خروجی گرفتن از آنگولار

    فرض کنیم که شما بصورت روال استاندارد یک پروژه آنگولار ۲ ساخته اید:

    https://angular.io/docs/ts/latest/guide/setup.html

    به اینکه پروژه شما چقدر پیچیده باشد کاری ندارم. در نهایت پس از اینکه پروژه را تکمیل و قصد انتشار آن را دارید، با دستور زیر پروژه را کامپایل کنید:

    ng build

    این دستور در پوشه پروژه یه پوشه به نام dist میسازد که شامل خروجی html ، css و javascript شماست. در صورتی که در پوشه src پوشه های image ، css و یا هرچیز دیگری دارید که بصورت دستی و خارج از انگولار به پروژه اضافه کرده اید آنهارا در پوشه dist کپی کنید. در نهایت پوشه dist شامل فایل index.html و سایر فایل های html  ، js و css  شما میباشد که با آپلود آن روی هاست و یا کپی آن در سایت محلی از که مثلا با wampserver ساخته اید قابل اجرا میباشد.

    اکنون بسته به انتخاب خودتان نوبت به آپلود سمت سرور پروژه تان که با لاراول نوشته اید میرسد (البته مهم نیست شاید با php پایه یا یک فریم ورک دیگر نوشته باشید ، روال کار به یک صورت است). چند روش ترکیب میتوانید انجام دهید.

    • میتوانید کلا پروژه لاراول را در یک هاست با دامنه دیگر آپلود کنید و آنگولار از طریق api های ارایه شده و آن دامنه به سرور وصل شود و تراکنش را انجام دهد.
    •  میتوانید درون همین هاست یه پوشه بسازید و پروژه آنگولار را درون آن انتشار دهید و به ذکر نام پوشه(ex: serverside) در ادامه دامنه(name.dom) هاست به سرور دسترسی داشته باشید.

    Ex : name.dom/serverside/api/home/login

    • همچنین میتوانید این دو پروژه را طوری ترکیب کنید که جدابودنشان کلا مشخص نباید. برای اینکار فایل های ریشه پروژه لاراول را در کنار فایل های ریشه پروژه انگولار ۲  کپی کنید. و تنها کافی است محتوای فایل index.html خود را در view ای کپی کنید که به عنوان صفحه نخست سایت نمایش داده میشود. که پس از این کار نیاز هست خود فایل index.html را پاک کنید.

     

    در ادامه چند مورد هست که ممکن است برایتان مفید باشد.

    ۱-  برای routing در لاراول فایلی وجود دارد به نام route/api.php که این فایل مسیول روت کردن آدرس های api است. اگرچه که شما در همان route/web.php هم میتوانید این روت را شبیه سازی کنید ولی استاندارد استفاده از api.php است. توجه کنید تمام Route هایی که در این فایل تعریف میکنید هنگام آدرس دهی یه تکه /api/ به ابتدایشان اضافه میشود. برای مثال فرض کنیم روت زیر را در api.php تعریف کرده ایم:

    Route:post('home/login','HomeController@login');

    برای دسترسی به این روت آدرس قابل دسترس بصورت زیر است:

    …/api/home/login

    ۲-  استاندارد RESTFUL API بهترین گزینه برای ایجاد ارتباط بین لاراول و انگولار می باشد. این استاندارد داده های خود را در قالب json در یافت و نتیجه  خروجی را بصورت json برمیگرداند. این استاندارد بسیار مفید و یاد گیری اش خیلی راحت هست.

    ۳-  بحث احراز هویت در این روش هم مباحث جدیدی را برایتان مطرح میکند. چون در اتصال های api دیگر خبری از session نیست و روش های سنتی مناسب اعتبار سنجی کاربر نیست. اعتبار سنجی برای این روش ساخت پروژه باید بصورت token base باشد.

    امیدوارم مطلب خدمت شما بازدید کننده محترم مفید واقع شده باشد.

    ارسال دیدگاه

    نشانی ایمیل شما منتشر نخواهد شد.

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