سلام و درود فراوان
سوالم این هست که ما باید از ثابت های توی فایل env به چه صورت استفاده کنیم؟
دوستان من متوجه نمیشم زمانی که یک ثابت رو به این صورت استفاده میکنم:
env('APP_NAME');
و بعد دستور:
php artisan config:cache
رو اجرا میکنم دیگه ثابت APP_NAME نمایش داده نمیشه!؟
اما وقتی ثابت هارو به این صورت استفاده میکنم :
config('app.name')
و بعد دستور:
php artisan config:cache
رو اجرا میکنم ثابت APP_NAME به درستی و بدون قابلیت تغییر که خیلی هم مناسب هست برای من نمایش داده میشه؟!
حالا سوالم اینجاست که در نهایت باید توی پروژه هام از کدوم روش استفاده کنم؟؟؟؟
و یه نکته دیگه خود لاراول داخل فایل های config از روش اولی(env) استفاده کرده و بعد از دستور:
php artisan config:cache
چرا هیچ چیز خراب نمیشه و به درستی کار میده؟؟؟؟؟
سلام، بهترین راه حل برای استفاده از ثابت ها یا داده های استاتیک در لاراول، استفاده از تابع config
هست. این تابع در واقع به عنوان یک لایه سطح دسترسی به فایل .env
را کنترل کرده و در صورتیکه ثابت موردنظر وجود داشته باشد آن را نمایش می دهد.
دستور php artisan config:cache
تمام موارد موجود در پوشه config لاراول را کش می کند و ارتباطی به ثابت ها ندارد. اما چون معمولا فایل های مربوط به کانفیگ را در این پوشه تعریف می کنیم به صورت خودکار آنها هم کش می شوند.
نتیجه گیری: تابع config برای استفاده از ثابت ها می باشد و چون مقدار درون این تابع (مثلا app.name
) داخل پوشه config تعریف شده است، با دستور php artisan config:cache
این مقادیر هم کش می شوند.
به جمع هزاران کاربر اینستاگرامی روکسو بپیوندید.