Laravel Valet یکی از ابزارهای محبوب در اکوسیستم لاراول است که به برنامهنویسان امکان میدهد محیط توسعه محلی سریع، ساده و قدرتمند ایجاد کنند. این ابزار که برای سیستمعامل macOS طراحی شده، با استفاده از Nginx و PHP، یک سرور سبک و بهینه فراهم میکند که میتواند برای توسعه پروژههای PHP و لاراول استفاده شود.
چرا Laravel Valet؟
بسیاری از توسعهدهندگان PHP و لاراول به دلایلی همچون سرعت، راحتی در استفاده و قابلیتهای خاص، به سمت Valet جذب میشوند. برخی از این دلایل عبارتاند از:
- سرعت بالا: Valet نیاز به منابع کمتری نسبت به سایر ابزارهای محیط توسعه مانند Vagrant دارد.
- پیکربندی ساده: بهجای انجام تنظیمات پیچیده، تنها با چند دستور ساده میتوان Valet را راهاندازی کرد.
- پشتیبانی از دامنههای لوکال: به کمک Valet میتوانید پروژههای خود را با دامنههای لوکال دلخواه (مانند project-name.test ) مشاهده کنید.
- توسعه چندمنظوره: علاوه بر پروژههای لاراول، Valet از سایر فریمورکها و سیستمهای مدیریت محتوا (مانند WordPress) نیز پشتیبانی میکند.
نصب و راهاندازی Laravel Valet
برای شروع استفاده از Laravel Valet، باید مراحل زیر را طی کنید:
پیشنیازها
قبل از نصب Valet، مطمئن شوید که موارد زیر روی سیستم شما نصب شدهاند:
- Homebrew: Homebrew مدیر بسته macOS است که به شما امکان نصب ابزارهای مختلف را میدهد. برای نصب آن، دستور زیر را اجرا کنید:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- PHP: از طریق Homebrew میتوانید نسخههای مختلف PHP را نصب کنید:
brew install php
- Composer: Composer مدیر وابستگیهای PHP است. برای نصب آن، از دستور زیر استفاده کنید:
brew install composer
نصب Laravel Valet
پس از نصب پیشنیازها، دستور زیر را برای نصب Laravel Valet اجرا کنید:
composer global require laravel/valet
مطمئن شوید که مسیر باینری Composer به PATH شما اضافه شده باشد:
export PATH="$HOME/.composer/vendor/bin:$PATH"
راهاندازی Valet
برای راهاندازی Valet، دستور زیر را اجرا کنید:
valet install
این دستور Nginx را بهعنوان سرویس وب و DnsMasq را برای مدیریت دامنههای لوکال پیکربندی میکند.
اتصال دایرکتوریها به Valet
برای اینکه Valet بتواند پروژههای شما را شناسایی کند، باید دایرکتوری مورد نظر را پارک کنید:
cd /path/to/your/projects
valet park
اکنون هر پروژهای که در این دایرکتوری قرار دهید، بهصورت خودکار با دامنه لوکال قابل دسترسی خواهد بود (مانند project-name.test ).
ویژگیهای کلیدی Laravel Valet
۱. پشتیبانی از فریمورکهای مختلف
Laravel Valet علاوه بر لاراول، از سایر فریمورکها و ابزارهای PHP مانند Symfony، Zend، CakePHP، WordPress و حتی پروژههای غیر PHP مانند Jekyll و Statamic پشتیبانی میکند.
۲. گواهیهای SSL
با Valet میتوانید بهسادگی گواهیهای SSL برای پروژههای لوکال خود ایجاد کنید. این قابلیت به شما امکان میدهد پروژهها را در محیطی مشابه محیط تولید آزمایش کنید:
valet secure project-name
برای بازگرداندن به حالت HTTP:
valet unsecure project-name
۳. اجرای دستورات سریع
Valet به گونهای طراحی شده که دستورات را بهسرعت اجرا کند و محیط توسعه شما را بدون تأخیر آماده کند. این سرعت ناشی از استفاده از Nginx و حذف ماشینهای مجازی سنگین است.
۴. قابلیت اشتراکگذاری پروژهها
یکی از ویژگیهای جذاب Valet امکان اشتراکگذاری پروژهها از طریق یک URL عمومی است. این کار با استفاده از ابزار Ngrok انجام میشود:
valet share
این دستور لینکی موقت ایجاد میکند که میتوانید آن را با دیگران به اشتراک بگذارید.
۵. پشتیبانی از دامنههای سفارشی
با استفاده از Valet، میتوانید دامنههای سفارشی برای پروژههای خود تعریف کنید. برای مثال، اگر بخواهید دامنهی خاصی به پروژه شما اختصاص داده شود:
valet link custom-name
اکنون میتوانید پروژه را از طریق custom-name.test مشاهده کنید.
مشکلات رایج و راهحلها
۱. مشکل در پیکربندی دامنههای لوکال
گاهی ممکن است دامنههای لوکال به درستی کار نکنند. در این صورت، دستورات زیر را امتحان کنید:
valet restart
valet fix
۲. خطاهای مربوط به نسخه PHP
اگر پروژه شما به نسخه خاصی از PHP نیاز دارد، میتوانید از دستورات زیر برای تغییر نسخه PHP استفاده کنید:
valet use php@version
۳. عدم شناسایی پروژه
اگر پروژه شما توسط Valet شناسایی نمیشود، مطمئن شوید که در دایرکتوری پارکشده قرار دارد. همچنین میتوانید دستور زیر را برای ثبت مجدد دایرکتوری اجرا کنید:
valet park
۴. رفع مشکلات DnsMasq
در برخی موارد، ممکن است DnsMasq به درستی کار نکند. در این شرایط میتوانید فایل پیکربندی را بررسی و دستور زیر را اجرا کنید:
sudo brew services restart dnsmasq
مقایسه Laravel Valet با سایر ابزارها
Valet در مقابل Homestead
- Valet:
- سبک و سریع
- مناسب برای سیستمعامل macOS
- نیاز به منابع کم
- Homestead:
- مبتنی بر Vagrant
- چند پلتفرمی
- قابلیتهای پیشرفتهتر برای شبیهسازی سرورهای تولید
Valet در مقابل Docker
- Valet:
- راهاندازی آسانتر
- عملکرد سریعتر در macOS
- Docker:
- مناسب برای محیطهای پیچیدهتر
- چند پلتفرمی
- پشتیبانی از کانتینرهای چندگانه
نکات پیشرفته
استفاده از دایرکتوریهای متعدد
میتوانید چندین دایرکتوری مختلف را با Valet پارک کنید و پروژههای خود را سازماندهی کنید:
valet park /path/to/another/directory
مدیریت نسخههای PHP برای پروژههای مختلف
اگر پروژههای شما نیاز به نسخههای مختلف PHP دارند، میتوانید از ابزارهایی مانند phpbrew یا brew برای مدیریت نسخههای PHP استفاده کنید. همچنین Valet بهطور خودکار نسخه صحیح PHP را بر اساس فایل .valetphprc در دایرکتوری پروژه شناسایی میکند.
استفاده از افزونهها و ابزارهای تکمیلی
Valet از افزونههای مختلفی پشتیبانی میکند که میتوانید برای بهبود عملکرد استفاده کنید. برخی از افزونههای محبوب عبارتاند از:
- valet share: اشتراکگذاری پروژهها بهصورت عمومی.
- valet proxy: تعریف پروکسی برای مسیرهای خاص.
نتیجهگیری
Laravel Valet یک ابزار قدرتمند و سبک برای توسعهدهندگان PHP و لاراول است که روی macOS کار میکنند. با ارائه امکاناتی همچون پشتیبانی از دامنههای لوکال، سرعت بالا، و پیکربندی ساده، Valet گزینهای ایدهآل برای توسعه پروژههای PHP است. با پیروی از این راهنما، میتوانید محیط توسعه محلی خود را بهسرعت راهاندازی کرده و پروژههای خود را با بهرهوری بیشتر توسعه دهید.