آموزش Laravel Sail و آغاز کار با آن
آموزش لاراول (Laravel) زمان مطالعه: 6 دقیقه تاریخ انتشار: 9 ماه قبل

آموزش Laravel Sail و آغاز کار با آن

توسعه دهندگان برای اجرای برنامه های لاراول باید یک وب سرور مانند Apache و نسخه ای PHP و Mysql و سایر برنامه های جانبی را باید روی سیستم خود نصب می کردند که برای این کار معمولا از برنامه هایی نظیر Xampp یا Wamp استفاده می کردند. اما با معرفی لاراول 8، از پکیج Laravel Sail رونمایی شد که به توسعه دهندگان کمک میکند بدون نصب هیچ برنامه اضافی بر روی سیستم عامل خود، در کم ترین زمان ممکن برنامه های لاراول را بر روی سیستم خود اجرا و تست کنند.

پکیج Laravel Sail یک CLI یا Command Line Interface برای برقراری ارتباط با محیط توسعه داکر (Docker) است. نکته بسیار مهم این است که Laravel Sail بر بستر داکر توسعه داده شده است اما برای کار کردن با آن نیاز نیست Docker را یاد بگیرید! بدون دانش قبلی میتوانید با آن کار کنید که این بسیار برای توسعه دهندگان راحت تر خواهد بود. لاراول Sail یک محیط لوکال کامل برای اجرا برنامه ها در اختیار شما می گذارد.

Laravel Sail از یک فایل docker-compose.yml و اسکریپت Sail که در مسیر vendor/bin/sail پروژه لاراول به صورت پیش فرض وجود دارد، بهره می برد. در ادامه این مقاله از سایت هیرود نصب و راه‌اندازی یک پروژه‌ی لاراول با استفاده از Laravel Sail را بررسی می کنیم.

 

پیش نیاز های آغاز کار با پکیج Laravel Sail

اول از همه باید بدانید برای کار با پکیج Laravel Sail باید تا حد مناسبی به لاراول مسلط باشید. برای استفاده باید Windows Subsystem for Linux نسخه 2 را روی ویندوز نصب کنید. برای نصب این ابزار باید از ویندوز 10 با ورژن 1903 و بیلد 18362 یا بالاتر استفاده کنید.

برای اطلاع از نسخه ویندوز خود دستور ver را در cmd اجرا کنید.

 

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

برای نصب داکر و Docker Compose باید به سایت داکر هاب و صفحه Docker Desktop for Windows مراجعه کنید و برای دریافت فایل نصبی داکر بر روی دکمه Get Docker کلیک کنید.

سپس قایل دریافتی را روی سیستم خود اجرا و مراحل نصب را پیش برید تا داکر و Docker Compose روی سیستم شما نصب شود. سپس داکر به صورت خودکار اجرا میشود که وجود آیکون آن در Taskbar ویندوز نشانه فعال بودن آن است. همچنین میتوانید با اجرای دستور docker verison در cmd نسخه نصب شده را مشاهده کنید. همچنین داکر دارای محیط گرافیکی است که میتوانید از آن استفاده کنید.

 

نصب Laravel Sail

نصب پکیج Laravel Sail روی پروژه لاراول را میتوانید با استفاده از دستور زیر انجام دهید.

composer require laravel/sail --dev

سپس برای publish فایل docker-compose.yml در مسیر پروژه باید دستور زیر را اجرا کنید.

php artisan sail:install

در نهایت با دستور زیر میتوانید اقدام به راه اندازی sail کنید.

./vendor/bin/sail up

 

پیکربندی Bash Alias

دستورات Sail با استفاده از اسکریپت vendor/bin/sail در برنامه به صورت پیش فرض اجرا میشوند اما برای جلوگیری از فراخوانی زیاد vendor/bin/sail میتوانیم یک Bash Alias ایجاد کنیم تا دستورات Sail را از این پس راحت تر اجرا کنیم.

alias sail='bash vendor/bin/sail'

حالا فقط با تایپ Sail میتوانیم دستورات را اجرا کنیم.

sail up

 

روش راه اندازی و توقف Sail

sail با استفاده از فایل docker-compose.yml چند کانتینر داکر را برای شما ایجاد میکند تا بتوانید برنامه لاراول خود را روی سیستم اجرا کنید. هر کدام از این کانتینرها به عنوان یک سرویس تعریف میشوند. شما با دستور sail زیر میتوانید کانتینرهای داکر را اجرا کنید، فقط توجه کنید از قبل هیچ وب سرور یا دیتابیس روی سیستم لوکال شما در حال اجرا نباشد.

sail up

زمانی که شما پنجره CLI که این دستور را در آن اجرا کرده اید، ببندید، تمام کانتینرها از بین میروند. به همین دلیل شما میتوانید با دستور زیر در حالت Detached کانتینرهای Sail را در پس زمینه اجرا کنید.

sail up -d

برای متوقف کردن کانتینرها میتوانید از کبید های ترکیبی CTRl + C در CLI استفاده کنید یا پنجره آن را ببندید. اگر هم دستور up را در پس زمینه اجرا کردید برای توقف آن میتوانید از دستور زیر استفاده کنید.

sail down

 

اجرای دستورات در Sail

زمانی که شما اپلیکیشن لاراول خود را با Laravel Sail اجرا میکنید، برنامه شما در یک کانتینر داکر اجرا می شود و کاملا از محیط لوکال شما مجزاست. در نتیجه شما نمیتوانید مانند قبل دستورا PHP,Artisan,Composer و Node را اجرا کنید. اما نارحت نباشید، Sail روش مناسبی را برای اجرای دستورات در نظر گرفته است.

 

اجرای دستورات PHP

به صورت زیر قابل اجراست.

sail php --version 

sail php script.php

 

اجرای دستورات Composer

برای اجرای دستورات Composer مثلا نصب Livewire  (برای آشنایی با Livewire میتوانید مقاله Livewire چیست؟ را مطالعه کنید) به صورت زیر میتوان عمل کرد.

sail composer livewire/livewire

 

اجرای دستورات Artisan

برای اجرا دستورات artisan مثلا دستور make:controller به صورت زیر عمل میکنیم.

sail php artisan make:controller HerodController

 

اجرای دستورات Node/NPM

اجرای این دستورات به صورت زیر می باشد.

sail node --version 

sail npm run prod

 

دیتابیس ها در sail

در laravel Sail دو کانینتر برای دیتابیس های Mysql و Redis در نظر گرفته شده است که در ادامه آنها را بررسی میکنیم.

 

دیتابیس Mysql

در Laravel Sail از Volume داکر برای نگهداری داده ها حتی زمانی که کانتینر متوقف یا restart میشود استفاده شده است. درضمن زمانی یک کانینتر mysql راه اندازی میشود به صورت خودکار بررسی میشود که حتما یک دیتابیس با نام متغییر محلی DB_DATABASE که در فایل .env قرار دارد، وجود داشته باشد. همچنین در این فایل باید متغییر DB_HOST برابر mysql تنظیم شده باشد. دیتابیس mysql با پورت 3306 در localhost قابل دسترس است.

 

دیتابیس Redis

در Laravel Sail از Volume داکر برای نگهداری داده ها حتی زمانی که کانتینر متوقف یا restart میشود استفاده شده است. برای برقرار شدن ارتباط با این دیتابیس باید متغییر DB_HOST در فایل .env برابر redis تعیین شده باشد. دیتابیس Redis با پورت 6379 در localhost در دسترس است.

 

تست ایمیل ها در Sail

در Laravel Sail یک کانتینر با نام MailHog برای تست ایمیل های ارسالی در لوکال در نظر گرفته شده است. MailHog یک رابط کاربری گرافیکی دارد تا شما بتوانید پیشنمایش ایمیل های ارسال را به راحتی مشاهده کنید. توجه کنید که باید دو متغییر زیر را برابر با مقادیر مورد نظر در فایل .env وارد کنید.

MAIL_HOST=mailhog 
MAIL_PORT=1025

 

اشتراک گذاری سایت در Laravel sail

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

sail share

پس از اجرای دستور share یک آدرس تصادفی برای شما ایجاد میشود که میتوانید با اجرای آن در مرورگر پروژه خود را مشاهده کنید.

 

بیا نتیجه بگیریم

در این مقاله از آموزش لاراول به بررسی و آموزش Laravel Sail پرداختیم و یاد گرفتیم چگونه از امکانات جذاب آن از لاراول 8 به بعد استفاده کنیم . با Laravel Sail میتوانید به راحتی محیط اجرای برنامه های لاراول را آماده کنید و نیاز به افزونه هایی مانند Xampp یا Wamp نیست! فقط کافیست تا Docker را روی سیستم خود نصب کنید و مابقی کار را به لاراول Sail بسپارید! Sail تمام موارد مورد نیاز سرور اوکال شما را خودکار کانفیگ میکند و برنامه لاراولی شما در این محیط که مستقل لوکال سیستم شماست اجرا می شود، درضمن laravel sail بستر داکر اجرا میشود اما نیاز به یادگیری داکر نیست و بدون دانش قبلی میتوانید به راحتی با آن کار کنید.

امتیاز به این مقاله فراموش نشه
میانگین امتیاز 5 از 5 ، کل امتیازات: 3
امیر اشرفی
نویسنده: امیر اشرفی

امیر اشرفی هستم مدیر و بنیان گذار آکادمی هیرود، حدود 10 سالی میشه که در حوزه برنامه نویسی و توسعه وب و موبایل فعالیت میکنم و تونستم تجربه خوبی در این حوزه بدست بیارم. یکی از علاقه هام انتقال تجربه هایی که در اختیار دارم به دیگرانه و باعث میشه حالم خوب بشه و اشتیاق یادگیریم افزایش پیداکنه، در واقع هیرود نتیجه حال خوبیامه :)

دوره های قهرمانی پیشنهادی

اولین قدم برنامه نویسی

اولین قدم برنامه نویسی

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

سبد خرید

سبد خرید شما خالی است.

پیش به سوی قهرمانی