دایرکتوری کانفیگ شامل تمام فایل های پیکربندی اصلی مورد نیاز برای فریم ورک لاراول است. تمام آپشن ها و گزینه ها بصورت داکیومنت هستند. همانطور که در آموزش قبل توضیح داده شد، دایرکتوری کانفیگ جزو فایل های اصلی پیکربندی لاراول است.حالا در این آموزش به نحوه ی پیکربندی های ضروری لاراول می پردازیم.
تنظیمات Environment یا محیط در لاراول
فایل های محیطی در فریمورک لاراول ، مقادیر و تعاریف پایه ای و اصلی پروژه های مبتنی بر لاراول هستند که اغلب به دلیل داشتن مقادیر منحصر به فردی که براساس محیط برنامه اجرا می شود ، سودمند هستند . مثلا زمانی که شما میخواهید یک درایور با حافظه کش متفاوت در سرور خود ایجاد کنید.
متغیرهای محیطی ، دایرکتوری خدمات یا سرویس وب را برای برنامه وب شما ارائه میدهند. تمام متغیرهای محیطی در فایلی به نام .env ذخیره میشوند که در ادامه شما میتوانید از آنها استفاده کنید.
زمانی که میخواهید فریم ورک های لاراول را نصب کنید به نکات زیر توجه داشته باشید:
1.باید فایل .env شخصی خودتان که بر اساس تنظیمات و کامپیوتر خودتان تنظیم شده ، داشته باشید.
2.هنگام انجام پروژه به صورت گروهی برای مطلع کردن اعضا از نوع پیکربندی ، باید یک فایل .env.example ساخته شود.
نوع متغیر Environment
در پیکربندی پایگاه داده لاراول ، فایل های .env به هر متغیر اجازه میدهند که بعنوان یک رشته از آن عبور کند.از این رو، بعضی از مقادیر رزرو شده به این منظور تولید شده اند که کار بازیابی و بازگردانی دامنه تغییرات گسترده تر در تابع env() را آسان کنند.
اگر میخواهید یک متغیر محیطی تعریف کنید که شامل فضا باشد، این کار را با قرار دادن مقدار در دابل کوتیشن (” “) انجام دهید.
مثال :
APP_NAME=”My Application”
بازیابی مقدار متغیرهای Environment در لاراول
تمام متغیرهای محیطی درون فایل env تعریف شده اند و هنگامی که برنامه لاراول شما یک Request دریافت میکند ، آن درخواست در داخل env PHP_$ بارگیری می شود. متغیرهای فایل env توسط کمک کننده ی env helper قابل دسترسی هستند که این کمک کننده می تواند مقدار هر متغیر محیطی را برای شما بازیابی کند.
تعیین کردن Environment فعلی در لاراول
متغیر App_env از فایل .Env ، محیط برنامه فعلی تان را از طریق متغیر app_env از فایل .env تعیین میکند.
می توانید این مقدار را از طریق متد محیط ، در نمای برنامه قرار دهید:
$environment = App::environment();
همچنین می توانید arguments یا آرگومان ها را به سیستم Environment یا محیط منتقل کنید تا بررسی شود که آیا محیط از نظر furnished value مطابقت دارد یا ندارد.
اگر محیط با هر یک از متغیرهای داده شده مطابقت و همخوانی داشته باشد، متد Environment به آن پاسخ میدهد و در غیر اینصورت جواب درست را برمی گرداند:
if (App::environment(‘local’)) { // The environment is local } if (App::environment([‘local’, ‘staging’])) { // The environment is either local OR staging… }
مخفی کردن مقادیر Environment از Debug pages (صفحات اشکال زدایی)
دیباگینگ یا اشکال زدایی برای لیست کردن و حل error و خطا ها ، به آن مدت زمانی که شما سعی میکنید برنامه را اجرا کنید نیاز دارد.
وقتی که یک مورد استثنا نمیتواند caught یا دریافت شود و متغیر محیطی App_Debug صحیح و درست است، صفحه دیباگینگ یا اشکال زدایی تمام متغیرها و محتویاتشان را در محیط کار نمایش میدهد.
ممکن است در بعضی موارد شما بخواهید که متغیرهای خاص را hide یا مخفی کنید. از این رو میتوانید به وسیله modernizing یا مدرن سازی ، گزینه debug_blacklist در کانفیگ app.php خود متغیرهای خاص را هاید و مخفی کنید.
فایل های پیکربندی در لاراول
برخی از متغیرها هم در سرور درخواست داده ، و هم در متغیرهای محیطی قابل دسترسی هستند.از این رو ممکن است بخاطر $_ENV و $_SERVER بخواهید آنها را در blackList یا لیست سیاه قرار دهید.
در این صورت باید بصورت زیر عمل کنید:
return [ ‘debug_blacklist’ => [ ‘_ENV’ => [ ‘APP_KEY’, ‘DB_PASSWORD’, ], ‘_SERVER’ => [ ‘APP_KEY’, ‘DB_PASSWORD’, ], ‘_POST’ => [ ‘password’, ], ], ];
دسترسی به متغیرهای پیکربندی
دسترسی به متغیرهای پیکربندی کار کاملا ساده و آسان است و شما بدون هیچ زحمتی میتوانید به کمک توابع کمکی global config محل متغییرهای پیکربندی تان را پیدا کنید.
از Syntax یا ترکیب “dot” ، برای بدست آوردن متغییرهای پیکربندی نیز استفاده می شود که شامل نام فایل متغییر پیکربندی میباشد.
معمولا یک متغیر پیش فرض برای پیکربندی لاراول تعریف شده است و تا زمانی که شما آن متغیر را فراخوانی نکرده باشید بصورت زیر مقدار دهی میشود:
$value = config(‘app.timezone’);
و زمانی که خودتان شخصا بخواهید یک محل و موقعیت زمانی پیشفرض برای کمک دهنده تنظیم کنید ، باید از دستور زیر استفاده کنید:
config([‘app.timezone’ => ‘America/San Francisco’]);
پیکربندی در کش
پاک کردن حافظه کش یا پنهان پیکربندی ، یک کار بسیار ضروری و لازم در قسمت تنظیمات و پیکربندی است که باعث افزایش و تقویت سرعت ارائه ی برنامه میشود.
شما باید هر فایل پیکربندی یا کانفیگ خود را با استفاده از یک فایل شخصی پنهان کنید و به شما پیشنهاد میشود که از دستور cache Artisan استفاده کنید.
دستور کش آرتیسن تمام امکانات موجود برای پیکربندی برنامه لاراول را ، در داخل یک پوشه یا فایل جداگانه قرار می دهد تا با سرعت بالا توسط فریم ورک ها ذخیره و بارگذاری شود.
از این رو شما نیاز دارید که پیکربندی PHP Artisan را اجرا کنید.
همچنین دستور کش به عنوان بخشی از سیستم گسترده ساخته شده ی شماست . تا زمانی که Local development بعنوان یکی از گزینه های پیکربندی است ، دستور php Artisan نباید اجرا شود چون هنگام توسعه برنامه نیاز به یک سری اصلاحات دارد.
حالت maintenance
فریمورک لاراول نیاز به maintenance (حفظ و نگهداری) دارد،بنابراین زمانی که برنامه شما در حالت maintenance یا preservation قرار دارد; برنامه شما اجازه میدهد که یک custom view (نمای سفارشی) برای نمایش تمام درخواست ها در خود برنامه داشته باشید. این حالت کمک میکند که به راحتی برنامه را غیرفعال کنید هنگامی که قرار است برنامه را Refresh یا آپدیت کنید و یا در حالت maintenance قرار دهید.
اگر برنامه شما در حالت maintenance باشد، یک MaintenanceModeException با کد وضعیت 503 راه اندازی خواهد شد.
برای آسان کردن حالت maintenance ، دستور Artisan زیر را انجام دهید:
Php artisan down
همچنین می توانید اطلاعات یا پیام ها و گزینه های مجدد را به دستور down ارائه دهید. در صورتی متغییرهای پیام میتوانند برای Log یا ارسال پیام های سفارشی مورد استفاده قرار بگیرند، که متغیر retry به عنوان header یا سربرگ Retry-After HTTP قرار بگیرد.
برای مثال :
php artisan down –message=”Upgrading Database” –retry=60
علی رغم اینکه در حالت maintenance ، ممکن است آدرس IP و شبکه های خاص بخواهند به فریمورک لاراول دسترسی داشته باشند.
برای صدور اجازه دسترسی از دستور زیر استفاده میشود:
php artisan down –allow=127.0.0.1 –allow=192.168.0.0/16
برای غیرفعال کردن حالت maintenance ، شما باید از دستور UP استفاده کنید:
Php artisan up
حالت و صفت maintenance
زمانی که لاراول در حالت maintenance قرار دارد ، کارهای موجود در صف را مدیریت نمیکند. اما بلافاصله بعد از اینکه لاراول از حالت maintenance خارج شد،کار ها مثل قبل به صورت نرمال و عادی اداره میشوند.
جایگزینی حالت maintenance
با استفاده از گزینه Envoyer در حالت maintenance لاراول ، میتوانید خرابی های بزرگ و گسترده را به صفر برسانید .در حالت maintenance، نیاز است لاراول چند لحظه از کار بیفتد.
جهت آشنایی بیشتر با لاراول می توانید مقالات زیر را مطالعه کنید :