تخفیف تابستانی سال ۱۳۹۹ تاپایان: پنجشنبه ۱۲ تیر ۱۳۹۹
بزن بریم فروشگاه

درس 4 - پیکربندی لاراول

پیکربندی و تنظیمات اصلی فریمورک لاراول

در درس قبلی دیدیم که ساختار پروژه های فریمورک لاراول چطور است و تنظیمات یا پیکربندی های لاراول درون دایرکتوری اصلی config است.در این درس از کتابخانه ی آموزش لاراول قرار است که به نحوه ی پیکربندی های ضروری لاراول بپردازیم.

 

پیکربندی محیطی لاراول

متغیرهای محیطی در فریمورک laravel مقادیر و تعاریف پایه ای و اصلی پروژه های مبتنی بر لاراول هستند که در فایلی به نام .env ذخیره سازی میشوند و بعدا قابل استفاده هستند.

بصورت پیشفرض محتویات فایل .env به شکل زیر میباشد.

APP_ENV = local
APP_DEBUG = true
APP_KEY = base64:ZPt2wmKE/X4eEhrzJU6XX4R93rCwYG8E2f8QUA7kGK8 =
APP_URL = http://localhost
DB_CONNECTION = mysql
DB_HOST = 127.0.0.1
DB_PORT = 3306
DB_DATABASE = homestead
DB_USERNAME = homestead
DB_PASSWORD = secret
CACHE_DRIVER = file
SESSION_DRIVER = file
QUEUE_DRIVER = sync
REDIS_HOST = 127.0.0.1
REDIS_PASSWORD = null
REDIS_PORT = 6379
MAIL_DRIVER = smtp
MAIL_HOST = mailtrap.ioMAIL_PORT = 2525
MAIL_USERNAME = null
MAIL_PASSWORD = null
MAIL_ENCRYPTION = null

نکات مهم 

زمانی که شما قصد دارید با پیکربندی های اصلی فریمورک لاراول کار کنید باید نکات زیر را در نظر داشته باشید.

  • فایل .env  نباید در سورس کنترل کامیت شود. چون هر برنامه نویس باید فایل env شخصی خودش براساس تنظیمات و پیکربندی کامپیوتر خودش را داشته باشد. ( سورس کنترلر مثل گیت و ... منظور ما میباشد).
  • زمانی که کار گروهی با لاراول انجام میگیرد باید یک فایل  .env.example ساخته شود تا اعضایی که میخواهند روی پروژه کار کنند از پیکربندی نمونه ای مطلع شوند.

 

بازیابی مقدار متغیرهای محیطی در لاراول

تمام متغیرهای محیطی درون فایل env تعریف شده اند و توسط env-helper قابل دسترسی هستند که این کمک کننده مقدار هر متغیر محیطی را برای شما بازیابی میکند.

همچنین این متغیرها درون متغیر سراسری $_ENV تعریف شده اند.

شما میتوانید به مقدار متغیرهای محیطی به شکل زیر دسترسی داشته باشید.

'env' => env('APP_ENV', 'production'),

تابع env-helper درون فایل app.php صدا زده شده است که درون فولدر config است.مثال فوق پارامتر اصلی محلی را درخواست میکند.

 

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

شما میتوانید به مقادیر تنظیمات یا پیکربندی های لاراول در هر کجایی از اپلیکیشن لاراول ، با کمک تابع کمکی config بصورت سراسری دسترسی داشته باشید.

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

برای مثال رای تنظیم کردن محل زمانی پیشفرض از کد زیر استفاده میشود.

config(['app.timezone' => 'Asia/Kolkata']);

 

کش کردن پیکربندی در لاراول

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

config:cache

در اسکرین شات زیر کش کردن پیکربندی های لاراول را مشاهده میکنید. دقت کنید که این دستور یکی از دستورات php artisan است.

کش کردن پیکربندی های فریمورک Laravel ( لاراول )

 

حالت Maintenance Mode یا در حال بروزرسانی لاراول

گاهی اوقات ممکن است بروزرسانی پیکربندی های لاراول یا تعمیرات و بروزرسانی های اپلیکیشن خود را داشته باشید. در این حالت اپلیکیشن تحت لاراول خود را به حالت maintenance mode تغییر دهید. این کار باعث تسهیل فرایند بروزرسانی برای توسعه دهنده میشود.

اپلیکیشن های لاراول که تحت تعمیر و بروزرسانی هستند یک exception بنام MaintenanceModeException صادر میکنند و کد 503 را بعنوان پاسخ به درخواست کننده ارسال میکنند.

با استفاده از دستور زیر میتوانید اپلیکیشن لاراول خود را به حالت maintenance mode وارد کنید.

php artisan down

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

حالت تعمیر و بروزرسانی فریمورک لاراول

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

آموزش فریمورک لاراول - حالت maintenance mode لاراول

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

php artisan up

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

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

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

آموزش رایگان فریمورک لاراول
 
اتمام درس