راکت
حل شده

ساخت variable سراسری

4 پاسخ

سلام
میخوام یک variable را توی فایل های درون پوشه config لاراول استفاده کنم

چطور باید این Variable را توی این فایل ها استفاده کنم ؟

توی متد boot در AppServiceProvider هم که این variable را return میکنم نمیشه.

مثلا میخوام از دیتابیس جدول setting نام درگاه بانک را بگیره و توی متغیر بریزم و توی فایل payment.php که توی پوشه Config هست استفادش کنم و مدیر سایت بتونه به راحتی Default Driver درگاه را تغییر بده

نوب
نوب
@yk5742g
ثبت پرسش جدید

پاسخ‌ها

4
مهدی مهدوی
مهدی مهدوی
@mehdi.mahdavi97

تخصص: تازه وارد

بهترین پاسخ

سلام
میتونید یک ServiceProvider ایجاد کنید مثلا ConfigServiceProvider یا از AppServiceProvider استفاده کنید
بعد داخل متد boot مقادیر مورد نظر را از دیتابیس گرفته و به عنوان کانفیگ ست کنید
به طور مثال من میخوام درایور ایمیل را از دیتابیس بگیرم و به جای کانفیگ ست کنم ، با فرض اینکه اطلاعات من داخل دیتابیس با مدلی به نام Setting و به صورت key value ذخیره شده اند

$mail_driver=Setting::where('key','mail_driver')->pluck('value');
config()->set('mail.default', $mail_driver);

در واقع اینجا من محتویات فایل کانفیگ رو تغییر ندادم ولی به صورت Runtime تونستم این مقادیر را تغییر بدم

رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

سلام میتونی از فایل .env استفاده کنی
فقط کافیه فایل رو باز کنی داخل به صورت زیر یک متغیر تعریف کنی

key=value // age value space dare " bezar be in sorat
key="salam khobi"

طرز استفاده

env("key");
نوب
نوب
@yk5742g

تخصص: کدنویس نوب :)

من میخوام متغیر را از دیتابیس معرفی کنم و مقادیر را از دیتابیس بخونم

شاید پاسخ شما همین‌جا باشد

Saman
Saman
@samanzdev

تخصص: برنامه نویس وب

با سلام و عرض ادب
شما می تونید یک فایل داخل پوشه config ایجاد کنید که داخل فایل ایجاد شده یک array رو return کنه ، به این شکل بنویسید :

return array () 

برای دسترسی به متغیر ایجاد شده داخل فایل، داخل view مورد نظر خود باید به این شکل بنویسید :
توضیح تصویر رو وارد کنید

در پارامتر اول دستور config، اسم فایل ایجاد شده رو می نویسید و با کاراکتر دات (.) از هم جدا میشن و در پارامتر دوم اسم متغیر رو می نویسید.
موفق باشید.
@yk5742g

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام