با Laravel و Vue یک برنامه وب مدرن بسازید - قسمت 1: تنظیم environment

در این سری از آموزش لاراول، ما قصد داریم در ساخت برنامه های وب مدرن با لاراول و Vue گام برداریم. از مبانی اولیه، تنظیم environment شما، به مفاهیم فنی بیشتری مانند ساخت endpoint RESTfully و حتی تست endpoint های شما خواهیم رسید.

در این بخش، ما شرایطی را برای توسعه PHP ایجاد خواهیم کرد. همچنین NodeJS و NPM را نصب خواهیم کرد زیرا برای مدیریت و ایجاد فایلهای JavaScript و Vue به آنها نیاز خواهیم داشت.

محیط های توسعه بسیار متفاوت هستند، بنابراین ممکن است داشتن یک راهنمای کامل برای setup ممکن نباشد. برخی از راهنماهای setup در این مقاله ممکن است مستقیماً برای os یا environment خودتان اعمال نشوند.

پیش نیازها

برای دنبال کردن این آموزش به آیتم های زیر نیاز دارید:

  • دانش PHP.
  • دانش ابتدایی Laravel framework.
  • دانش JavaScript و Vue framework.
  • دانش اولیه Node.js ** و NPM.
  • SQLite بر روی ماشین شما نصب شده باشد.راهنمای نصب

راه اندازی برای توسعه PHP: نصب composer

Composer icon

Composer یک package manager برای برنامه های PHP است. به شما امکان می دهد کتابخانه ها و پکیج هایی را که به صورت پابلیک در دسترس هستند نصب کنید و از آنها در برنامه های خود استفاده کنید. به اشتراک گذاری کد reusable در میان دیگر توسعه دهندگان PHP آسان می شود.

لاراول از Composer برای دریافت کتابخانه های وابسته استفاده می کند و بنابراین ما باید Composer را روی ماشین خود نصب کنیم تا بتوانیم این پکیج ها را دریافت کنیم.

نصب Composer در ویندوز

Composer-Setup.exe را دانلود و اجرا کنید. این version جدیدترین نسخه Composer را نصب کرده و PATH شما را تنظیم می کند تا بتوانید از طریق هر دایرکتوری در ترمینال خود composer را فراخوانی کنید.

نصب در Linux / macOS

برای نصب Composer، اسکریپت زیر را در ترمینال خود اجرا کنید:

    $ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

با این کار composer installer دانلود می شود و سپس به فولدر/usr/local/bin منتقل می شود تا بتوانید از هرجای ترمینال خود با دستور composer آن را فراخوانی کنید.

برای تست نصب،دستور زیر را اجرا کنید:

    $ composer

و شما باید خروجی مشابه این را بدست آورید:

       ______
      / ____/___  ____ ___  ____  ____  ________  _____
     / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                        /_/
    Composer version 1.6.3 2018-01-31 16:28:17

    Usage:
     command [options] [arguments]

    Options:
     --help (-h)           Display this help message
     --quiet (-q)          Do not output any message
     --verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
     --version (-V)        Display this application version
     --ansi                Force ANSI output
     --no-ansi             Disable ANSI output
     --no-interaction (-n) Do not ask any interactive question
     --profile             Display timing and memory usage information
     --working-dir (-d)    If specified, use the given directory as working directory.
    ...

این بدان معنی است که composer با موفقیت بر روی سیستم شما نصب شد.

راه اندازی برای توسعه PHP: نصب Valet (optional)

اگرچه Valet به طور رسمی در دسترس کاربران Mac است، در اینجا یک Linux port وجود دارد.

Valet یک محیط توسعه لاراول برای کاربران Mac است. Laravel Valet هنگامی که ماشین شما روشن می شود، Mac را پیکربندی می کند تا همیشه Nginx را در پس زمینه اجرا کند. Valet همچنین تمام درخواست های موجود در دامین *.test را پروکسی می کند تا به سایت های نصب شده در ماشین لوکال شما اشاره کند. Laravel Valet Documentation

Valet برای دنبال کردن این آموزش ضروری نیست اما داشتن آن خوب است. با استفاده از Valet می توانید به سرعت محیط های توسعه را برای برنامه های لاراول تنظیم کنید.

قبل از نصب، باید اطمینان حاصل کنید که هیچ برنامه دیگری مانند Apache یا Nginx به پورت 80 ماشین لوکال شما bind نیستند.

برای نصب Valet، دستور زیر را اجرا کنید:

    $ composer global require laravel/valet

وقتی composer تمام شد، دستور valet install را اجرا کنید. با این کار Valet و DnsMasq پیکربندی و نصب می شود و Valet’s daemon را رجیستر می کند تا با استارت سیستم شما لانچ شود.

پس از نصب Valet، می توانید با پینگ کردن دامنه *.test در ترمینال خود با استفاده از دستورزیر، بررسی کنید که آیا درست نصب شده است یا خیر:

    ping -c 1 foo.test

Ping test screenshot

اگر Valet به درستی نصب شده باشد، باید response این دامنه را روی 127.0.0.1 مشاهده کنید.برای اطلاعات بیشتر در مورد Laravel Valet می توانید به documentation  مراجعه کنید.

راه اندازی برای توسعه PHP: نصب Laravel CLI

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

Laravel CLI به راحتی با Composer قابل نصب است. برای نصب آن دستور زیر را اجرا کنید:

    $ composer global require "laravel/installer"

این دستور Laravel CLI را به صورت global برای شما نصب می کند. بنابراین هر زمان که می خواهید پروژه جدیدی را با لاراول استارت بزنید، فقط باید دستور زیر را اجرا کنید:

    $ laravel new appname

هنگامی که ایجاد برنامه sample کامل شد، فقط باید cd appname را وارد کنید و سپس اگر از Laravel Valet استفاده نمی کنید، دستور زیر را برای راه اندازی یک سرور PHP روی پورت 8000 اجرا کنید:

    $ php artisan serve

 برای خروج از برنامه در حال اجرا لاراول، باید ctrl + c را فشار دهید.

اگر از Laravel valet استفاده می کنید، می توانید با اجرای دستور زیر در root پروژه، پروژه را به یک دامنه .test لینک کنید:

    $ valet link appname

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

برای دیدن همه دستورات موجود Laravel CLI، اجرا کنید:

    $ php artisan list

دستورات مفید Laravel CLI

دستور make  همان چیزی است که بیشتر از آن استفاده خواهید کرد. به شما امکان می دهد انواع مختلفی از components را برای برنامه خود ایجاد کنید. می توانید از آن برای ایجاد model ها، controller ها، database migration و موارد دیگری استفاده کنید.

برای ایجاد یک model class جدید، که در دایرکتوری app/ ایجاد می شود، دستور زیر را اجرا کنید:

    $ php artisan make:model SampleModel

برای ایجاد یک controller class جدید، که در دایرکتوری app/Http/Controller/ ایجاد می شود، دستور را اجرا کنید:

    $ php artisan make:controller SampleController

برای ایجاد یک database migration class جدید، که در دایرکتوری database/migrations/ ایجاد می شود، دستور را اجرا کنید:

    $ php artisan make:migration create_sample_table

برای ایجاد تغییرات به دیتابیس خود با استفاده از migration هایی که قبلاً ایجاد کرده اید، دستور زیر را اجرا کنید:

    $ php artisan migrate

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

باید از Lumen استفاده کنم یا Laravel

Lumen یک نسخه کوچک از Laravel framework است. که بسیاری از که کامپوننت هایی که به نظر آنها برای توسعه سبک مفید نیست حذف می کند. از آنجا که از لاراول ساخته شده است، برنامه های ساخته شده در Lumen به راحتی می توانند به لاراول ارتقا یابند.

این برنامه عمدتا برای ساخت برنامه هایی با معماری microservice و یا ساخت API طراحی شده است. در لومن، session ها، cookie ها و template ها مورد نیاز نیستند، و موارد ضروری، routing، logging، caching، queue ها ، validation، error handling و چند مورد دیگر نگه داشته می شود.

انتخاب بین Lumen و Laravel زمانی اتفاق می افتد که شما در حال تصمیم گیری درباره چگونگی عملکرد برنامه خود هستید. اگر می خواهید با استفاده از Vue یا React یک برنامه تک صفحه ای بسازید، ممکن است تصمیم بگیرید از لومن برای business logic خود استفاده کنید.

اگر می خواهید آنها را در برنامه integrate کنید تا چند components مستقیماً در template های شما قرار بگیرند، لاراول راهی است که باید دنبال کنید. با استفاده از Lumen، عملکرد کاملی را که لاراول ارائه می دهد، نخواهید یافت.

برای این مجموعه، ما از لاراول استفاده خواهیم کرد.

نصب و پیکربندی وابستگی ها (Passport)

برنامه ما مبتنی بر API است، بنابراین ما به یک روش برای ایمن سازی API های خود نیاز داریم تا فقط کاربران شناخته شده بتوانند وارد آن شوند.

نصب Laravel Passport

Laravel Passport ابزاری برای احراز هویت API است. Passport احراز هویت را فراهم می کند و در عرض چند دقیقه اجرای کامل سرور OAuth2 را برای برنامه لاراول شما مهیا می کند.

برای نصب passport، دستور زیر را اجرا کنید:

    $ composer require laravel/passport

API Auth با استفاده از Laravel Passport

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

نتیجه

در این بخش، ما یاد گرفتیم که چگونه می توانیم محیط توسعه خود را برای ساخت برنامه های وب مدرن تنظیم کنیم. در قسمت های بعدی، ما یک برنامه لاراول خواهیم ساخت و هنگام build، برخی از مفاهیمی را که باید بدانید توضیح خواهیم داد.

همانطور که ما در ساخت برنامه خود جلوتر میرویم، خواهیم دید که چگونه می توانیم با استفاده از Vue و Laravel تمام ابزارها را برای ساخت برنامه های مدرن جمع کنیم. در قسمت بعدی می بینیم.

× در حال پاسخ به:
amin foli
amin foli
18 فروردین 1400 / ساعت 13:56 پاسخ دهید

بسیار عالی خانم روشنی ممنون بازم ادامه بدید روش اموزشاتون عالیه

سمیرا روشنی
سمیرا روشنی 18 فروردین 1400 / ساعت 14:15

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