Configuration
تنظیمات اولیه در لاراول در مسیر config/ ذخیره سازی شده است. هر یک از این تنظیمات در فایل .env
گرفته می شود که می توانید برای تغییر این تنظیمات فایل .env
را تغییر دهید.مشابه این فایل را در وردپرس با نام wp-config می توانید پیدا کنید که یک سری تنظیمات نظیر اطلاعات پایگاه داده و یا تنظیمات اپلیکیشن نظیر WP_Debug در آن وجود دارد.
Enviroment Configuration
.env
به انگلیسی (DotEnv) Environment Configuration یک کتابخانه نصب شده روی لاراول برای ثبت اطلاعات حساس و مهم اپلیکیشن می باشد. با استفاده از متغیر $_ENV
و همچنین تابع env
در طول برنامه به خصوص فایل های config می توان به آن دسترسی داشت.
به دلیل وجود اطلاعات حساس ( تنظیمات اپلیکیشن که می تواند شامل API Key ها هم باشد ) ، این فایل در گیت چشم پوشی می شود.
به شکل زیر می توان یک متغیر در فایل .env ایجاد کرد :
APP_NAME="My Application"
متغیر و مقدارش به صورت رشته کلید و مقدار در این فایل قرار می گیرند. تعریف کلید از قوانین تعریف متغیر پیروی می کند و اگر قرار است مقدار در خود space داشته باشد بهتر است که در ''
قرار بگیرد .
با استفاده از تابع env
می توانید به آن دسترسی پیدا کنید :
env('APP_NAME','default value');
در کد بالا پارامتر دوم مقدار پیش فرض در صورتی که مقدار اصلی در فایل .env
پیدا نگردد می باشد.
برخی کلید های مهم در فایل .env
به شرح زیر می باشد :
- APP_DEBUG : برای فعال کردن حالت دیباگ و نمایش خطاها در صورت بروز Exception می باشد(when an exception uncaught)
- APP_ENV : محیط توسعه نرم افزار که می تواند local , production , development باشد.
- Locale : زبان جاری اپلیکیشن که پوشه ترجمه مطابق آن را از مسیر
resources/lang
باید داشته باشید.
Laravel Configuration
لیست تنظیمات اپلیکیشن در لاراول به تفکیک دسته بندی در مسیر config/
وجود دارد که شامل :
- app : تنظیمات general اپلیکیشن شما که شامل اطلاعات متا (نام اپلیکیشن ، لینک و locale , timezone …) و همچنین لیست providers و Class Aliase ها می باشد. شما هم می توانید Aliase خودتان را برای کلاس ها ایجاد کنید.
- auth : تنظیمات مربوط به authentication یا احراز هویت کاربر. در این فایل guard تعریف شده برای نحوه ذخیره سازی اطلاعات کاربر جاری در طول برنامه است که شامل web , api می باشد که برای حالات کلاینت web browser و کلاینت های دیگر api می شود.
- database : اطلاعات اتصال و نوع پایگاه داده استفاده شده برای اپلیکیشن.
- queue : درایور های مربوط به queue یا همان نوع Background Proccessing که می تواند برابر با مقادیر database , redis , sync , … باشد.
با استفاده از تابع config()
می توانیم به تنظیمات اپلیکیشن خود دست پیدا کنیم و یا بسته به نیاز آن ها را تغییر دهیم :
$value = config('app.timezone'); // get timezone config(['app.timezone' => 'America/Chicago']); // set timezone
در لاراول کانفیگ ها با دستور config:cache
در مسیر bootstrap/cache/config
ذخیره میشوند (cache میشوند) که اگر این فایل وجود داشته باشد با تغییر هر یک از کانفیگ ها در پوشه config هیچ تغییری مشاهده نمیکنیم . با دستور config:clear
مقدارهای cache شده پاک میشود و تغییرات ما اعمال میشود.
دیدگاهتان را بنویسید