نوب
4 سال پیش توسط نوب مطرح شد
4 پاسخ

ساخت variable سراسری

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

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

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

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


ثبت پرسش جدید
مهدی مهدوی
تخصص : تازه وارد
@mehdi.mahdavi97 4 سال پیش مطرح شد
2

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

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

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


رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 4 سال پیش مطرح شد
0

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

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

طرز استفاده

env("key");

نوب
تخصص : کدنویس نوب :)
@yk5742g 4 سال پیش مطرح شد
0

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


Saman
تخصص : برنامه نویس وب
@samanzdev 4 سال پیش مطرح شد
1

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

return array () 

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

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


مهدی مهدوی
تخصص : تازه وارد
@mehdi.mahdavi97 4 سال پیش مطرح شد
2

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

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

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


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

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